eAccelerator является PHP-акселератором, основное назначение которого состоит в кэшировании бинарного представления кода. Каждый раз при выполнении скрипта, PHP читает все подключаемые файлы и переводит их в бинарный код, при запросе скрипта операция повторяется. Задача eAccelerator состоит в сохранении бинарного кода для повторного использования, уменьшая время выполнения скрипта.
Внимание! eAccelerator работает с PHP в режиме fastcgi или mod_php.
Внимание! С версии 0.9.6-rc1 удалена поддержка пользовательских функций кэширования (The user cache function are removed ), используйте версию 0.9.5.3!
Установка eAccelerator
Переходим в /usr/local:
# cd /usr/local
Создаем директорию eAccelerator:
# mkdir eAccelerator
Переходим в директорию eAccelerator:
# cd eAccelerator
Загрузим дистрибутив с сайта производителя (информацию о последних релизах можно найти по адресу http://www.eaccelerator.net/):
# wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
Распаковываем:
# tar -xvjf ./eaccelerator-0.9.5.3.tar.bz2
Переходим в директорию eaccelerator-0.9.5.3:
# cd eaccelerator-0.9.5.3
Собираем eAccelerator:
# export PHP_PREFIX="/usr/local"
или
# export PHP_PREFIX="/usr"
(в зависимости от того, где расположени phpize).
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config --with-eaccelerator-shared-memory
Опция --with-eaccelerator-shared-memory
необходима для возможности использования API eAccelerator. Полный список опций.
# make
Инсталлируем eAccelerator:
# make install
Настройка eAccelerator
Конфигурацию eAccelerator можно разместить в виде файла eaccelerator.ini в директории /etc/php.d/ или указать в файле /etc/php.ini
Разместим в файле /etc/php.ini
в самом конце перед секцией [Zend]
:
eaccelerator.shm_size="512"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="1"
eaccelerator.compress="1"
eaccelerator.compress_level="3"
eaccelerator.keys="shm_only"
eaccelerator.sessions="shm_only"
eaccelerator.content="shm"
Внимание! При наличии в php.ini
директивы extension_dir
путь к расширению указываем относительный:
extension="eaccelerator.so"
Создадим директорию для файлов eAccelerator:
# mkdir /tmp/eaccelerator
Установим права:
# chmod 777 /tmp/eaccelerator
Перезапустим Apache:
# service httpd restart