APC/eaccelerator (PHP 加速軟體)

2010080709:00
Fatal error: Call to undefined function eaccelerator_put() in /home/xxx/abc.php on line 54
突然開始要用 eaccelerator 記憶體變數時,跳出這個錯誤

原來

eaccelerator 0.9.6.x 起 移除一些記憶體變數函數 (shared memory variables)
只有在 2009-07-14 的 ChangeLog 短短一句「Remove the user cache functions」
2009-07-14      Bart Vanbrabant <bart at vanbrabant.eu>

                * Fix two PHP 5.3 bugs
                * Remove the optimizer
                * Remove the user cache functions
剩下有支援的函數:

[0] => eaccelerator_caching
[1] => eaccelerator_clear
[2] => eaccelerator_clean
[3] => eaccelerator_info
[4] => eaccelerator_purge
[5] => eaccelerator_cached_scripts
[6] => eaccelerator_removed_scripts
[7] => eaccelerator_check_mtime
[8] => eaccelerator_optimizer


替代方案可以用 APC (Alternative PHP Cache) or Xcache

不過兩三年前用過 Xcache
偶爾會出現空白畫面
須 restart httpd 解決
不知新版改善否?

 


APC 安裝

下載:http://pecl.php.net/package/APC

php.ini 設定
extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128    ;ram  MB
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX   ;照抄不要改
apc.enable_cli=0 
 
更詳細的說明, http://www.php.net/manual/en/apc.configuration.php