Хорошо, я опишу, как все настраивается и работает для меня на моем выделенном боксе. У меня все работает, но eAccelerator работает только с одним из моих приложений PHP.
У меня установлен Apache2 и я работаю с виртуальными хостами. У Apache есть файл по адресу /etc/apache2/php-version-5.2.conf
который включается в каждый виртуальный хост, когда ему нужно запустить PHP 5.2:
#include for sites that still need to run at php 5.2.x
SetEnv PHP_INI_SCAN_DIR /opt/php5.2/conf.d/
ScriptAlias /php5-cgi /usr/lib/cgi-bin/php5-cgi
Action application/x-httpd-php5 /php5-cgi
<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>
AddHandler application/x-httpd-php5 .php .php5 .php4 .php3 .phtml
Я установил последнюю версию PHP 5.3 из репозитория Debian. У меня также есть скомпилированная версия PHP 5.2.17, сидящая на /opt/php5.2/
. Для компиляции PHP 5.2 и доставки fastcgi в соответствующее приложение PHP Я выполнил эти инструкции. Это работает по мере необходимости.
eAccelerator работает над PHP 5.3 из репозитория Debian, но я не могу загрузить его в скомпилированной версии PHP 5.2.
Я скомпилировал из исходного кода обе установки PHP из эти инструкции.
В /etc/php5/apache2/conf.d/eaccelerator.ini
У меня есть:
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
В /opt/php5.2/conf.d/eaccelerator.ini
У меня есть:
;extension="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
;zend_extension="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
;zend_extension_ts="/opt/php5.2/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
;extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator-php-5.2"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Вывод phpinfo (); на каждом сайте, как и ожидалось, за исключением того, что eAccelerator не включен на сайтах PHP 5.2. Однако он отлично включен на сайтах PHP 5.3.
Каждый раз, когда мне нужен сайт для загрузки PHP 5.2, я просто загружаю вышеупомянутый файл php-version-5.2.conf, иначе сайт по умолчанию использует PHP 5.3.
Вы не забыли раскомментировать загрузку расширения? Как показано, расширение не загружается в /opt/php5.2/conf.d/eaccelerator.ini