Установка eAccelerator для Unix систем
Переходим в /usr/local:
# cd /usr/local
Создаем директорию eAccelerator:
# mkdir eAccelerator
Переходим в директорию eAccelerator:
# cd eAccelerator
# 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]:
extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="64"
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="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
Внимание! При наличии в php.ini директивы
extension_dir путь к расширению указываем относительный:
extension="eaccelerator.so"
Создадим директорию для файлов eAccelerator:
# mkdir /tmp/eaccelerator
Установим права:
# chmod 777 /tmp/eaccelerator
Перезапустим Apache:
# service httpd restart
Возможные проблемы
Отсутствует phpize
Необходимо установить php-devel, выполним:
# yum install php-devel
Отсутствует gcc и make
Необходимо установить gcc и make, выполним:
# yum install gcc
# yum install make
Принудительная очистка файлового кэша
С целью недопущения исчерпания дискового пространства под
устаревшие кэши eAccelerator рекомендуем очищать файлы, созданные
более 12 часов назад:
tmpwatch --mtime --all 12 /tmp/eaccelerator
Описание основных атрибутов конфигурации eAccelerator
| eaccelerator.shm_size |
Размер кэша совместно используемой памяти,
устанавливается в мегабайтах. |
| eaccelerator.cache_dir |
Директория для дискового кэша. eAccelerator
сохраняет в указанной директории бинарное представление
кода, сессии и другие данные. |
| eaccelerator.enable |
С помощью этой опции можно отключать и
включать eAccelerator. Значение 1 - включено, 0 - выключено.
|
| eaccelerator.shm_ttl |
Указывает в секундах время, по истечении
которого давно не используемый код должен быть удален из
совместно используемой памяти при превышении объема
выделяемой памяти.
По умолчанию эта опция отключена, мы рекомендуем
устанавливать значение от 60 до 300 при большом количестве
файлов и от 900 до 1800 при малом количестве файлов. |
| eaccelerator.shm_prune_period
|
Когда eAccelerator не имеет достаточно
свободного памяти, он пытается удалить старые данные, если
предыдущая попытка была сделана более "shm_prune_period"
секунд назад. По умолчанию значение "0", при котором
eAccelerator не будет пытаться удалить старый данные из
памяти. |
eaccelerator.keys
eaccelerator.session
eaccelerator.content |
Параметры указывают доступные способы
сохранения кэша eAccelerator.
Возможные значения:
- shm_and_disk — кэш данных в общей
памяти и на диске (по умолчанию);
- shm — кэш данных в общей памяти или
на диске, если общая память или размер данных больше,
чем "eaccelerator.shm_max";
- shm_only — кэш данных в общей
памяти;
- disk_only — кэш данных на диске;
- none не кэшироваь данные.
|