Crossroads » Linux » eAccelerator на Debian Lenny

eAccelerator на Debian Lenny

  • Dislike
  • 0
  • Like

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

Like Dislike




Tags: PHP, Debian, Linux


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com