Twitter

Live Traffic Feed

Crossroad » Motel L.C. » Записки чайника » eAccelerator на Debian Lenny

eAccelerator на Debian Lenny

eAccelerator — это свободный открытый проект, выполняющий роль акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. Есть возможность оптимизации PHP-скриптов для ускорения их исполнения.
Устанавливаем eAccelerator на сервер под управлением Debian Lenny. К сожалению в репозитории его нет, по этому будем компилировать из исходников. На момент написания мануала последняя версия - 0.9.6.1. В исходном коде есть баг, проявляющийся на Debian в виде ошибки, выглядящей примерно так:

PHP Warning: require(): open_basedir restriction in effect. File() is not within the allowed path(s);

Не буду говорить о других ОС, но именно с Lenny возникли проблемы. На Ubuntu Natty проблем не обнаружено. В процессе установки на Debian решим эту проблему превинтивно, правкой исходников.
Важно: В моём случае PHP работает как модуль Apache. На сайте разработчиков говорится, что eAccelerator так же может работать с PHP в режиме FastCGI. Не буду говорить за FastCGI, но в моём случае всё работает.
Приступим... Устанавливаем необходимое
apt-get install -y php5-dev bzip2 make

Переходим в директорию:
cd /usr/src

Скачиваем исходники
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

Распаковываем архив
tar -xf eaccelerator-0.9.6.1.tar.bz2

Переходим в папку с исходниками
cd eaccelerator-0.9.6.1

Далее правим возникший на Lenny баг. редактируем файл eaccelerator.c
nano /usr/src/eaccelerator-0.9.6.1/eaccelerator.c

Строка 867.
if (php_check_open_basedir(realfilename TSRMLS_CC)) {

Заменяем её на
if (php_check_open_basedir(p->realfilename TSRMLS_CC)) {

Сохраняем результат и выходим из редактора.
Компилируем
phpize
./configure
make

Прверяем
make test

Если всё OK, то устанавливаем
make install

Удаляем мусор после сборки
rm -rf /usr/src/eaccelerator-0.9.6.1
rm -f /usr/src/eaccelerator-0.9.6.1.tar.bz2

Создаём директорию для кэша
mkdir /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Создаём и настраиваем конфигурационный файл
nano /etc/php5/conf.d/eaccelerator.ini

Содержание:
extension="eaccelerator.so"
eaccelerator.shm_size="32"
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="1"
eaccelerator.compress="0"
eaccelerator.compress_level="9"

Проверяем работоспособность
php -m | grep eAcc

Если всё ОК, то перезагружаем Apache
/etc/init.d/apache2 restart

На этом всё...
eAccelerator на Debian Lenny


Дата: 8-06-2011, 00:00 Количество просмотров: 392
Разместила Smith, в разделе Motel L.C. » Записки чайника Печать

comments

Account


Добро пожаловать,
Гость

Логин:
Пароль:

Регистрация
Забыли пароль?

Ads