Ускоряем работу PHP с помощью eaccelerator
Представить интернет без PHP на сегодняшний день невозможно. При большой посещаемости, генерация динамических страниц отнимает много процессорного времени. Для того, что бы ускорить отдачу динамического контента, применяют разные методы. Один из них, кеширование результатов выполнения скриптов PHP, для ускорения обслуживания клиентов, осуществляется при помощи eacceleratorа. Представляет из себя eaccelerator подключаемый к PHP модуль, он присутствует в портах FreeBSD и сейчас мы его установим.
cd /usr/ports/www/eaccelerator/ make install clean
Порт не содержит дополнительных настроек. По окончании сборки, нужно сделать ряд дополнительных действий.
Сначала надо подключить eaccelerator, точнее его модуль в /usr/local/etc/php.ini, то есть внести такую строку:
zend_extension="/usr/local/lib/php/20060613/eaccelerator.so"
Цифры 20060613 зависят от сборки и будут меняться, внимательно следите, что вам сообщит порт по окончанию сборки.
Я предпочитаю вносить дополнительные настройки:
eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.debug="9" eaccelerator.log_file = "/var/log/eaccelerator_log"
В этих настройках я указываю директорию в которой будет хранится кеш, переменная которой можно временно отключить работу ecceleratora eaccelerator.enable, если ее установить в 0, то кеширования не будет. Включаю вывод отладочной информации, потом после того, как будет видно что кеш нормально работает, его можно будет выключить установив eaccelerator.debug в ноль. И указываю файл в который будет писаться отладочный лог eaccelerator.log_file.
Теперь нужно создать каталог в котором будет создаваться кеш и дать разрешения на запись в него:
mkdir /tmp/eaccelerator chown www /tmp/eaccelerator chmod 0700 /tmp/eaccelerator
Остается перезапустить Apache, если вы используете его
/usr/local/etc/rc.d/apache restart
Либо рестартовать php-cgi, если используется он.



