Установка eAccelerator на Debian Squeeze
Давно хотел заморочиться и написать статью о том, как правильно установить eAccelerator на Debian. Чудо совершилось – я пишу. 😉 К сожалению, *deb-пакеты этого чуда отсутствуют, потому нам придется собирать из исходных кодов.
Устанавливаем необходимые для сборки пакеты:
# aptitude -y install install build-essential php5-dev
Скачиваем архив отсюда и заливаем на сервер. Распаковываем, переходим в папку:
# cd eaccelerator-0.9.6.1
Далее делаем необходимые для сборки действия:
# phpize
Конфигурим:
# ./configure
Компилим:
# make
устанавливаем:
# make install
Проверяем:
# php-cgi -v
Либо:
# php -v
На что нам отобразится что-то вроде:
PHP 5.3.3-7+squeeze8 with Suhosin-Patch (cgi-fcgi) (built: Feb 10 2012 14:12:37)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Почти всё. Теперь осталось создать файлы конфигов и временные папки. Создаем папку:
# mkdir -p /var/cache/eaccelerator
Даем права:
# chmod -R 777 /var/cache/eaccelerator
Создаем конфиги. Сделать можно несколькими способами: прописать напрямую в php.ini, либо создать отдельный файл в папке /etc/php5/conf.d, что мы и сделаем.
# nano /etc/php5/conf.d/eaccelerator.ini
Вставляем конфиг:
extension=”eaccelerator.so”
eaccelerator.shm_size=”64″
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=”3600″
eaccelerator.shm_prune_period=”1800″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
Всё, можно проверять:
# /etc/ini.d/apache2 restart
На этом конфигурация завершена. Остался один момент: иногда при попытке запуска eAccelerator возникает ошибка:
eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.
PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
Что бы пофиксить, прописываем в конец файла /etc/sysctl.conf строчку:
kernel.shmmax=67108864
После выполним:
# echo 67108864 > /proc/sys/kernel/shmmax
После ошибка исчезает и eAccelerator нормально работает. Удачи!
у вас очепятка не /etc/ini.d/apache2 restart а /etc/init.d/apache2 restart
спасибо за заметку, ускорили жизнь
@Трофим Бабич
Опечатка – да! Когда пишу команды в статьях, мизинец все время тянется на Tab!
Блин ставил на свою голову по инструкции, потом куча проблем было, тут нужно при конфигурации вот так писать
$ ./configure –enable-eaccelerator=shared
@Testor
У меня никаких проблем не было. Что за ОС?
Вообще, лучше использовать APC.