Дек 24 2008

Ускоряем работу 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, если используется он.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть