Home > Hardware, System administration > Установка eAccelerator на Debian Squeeze

Установка 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 нормально работает. Удачи!

  1. October 27th, 2012 at 13:49 | #1

    у вас очепятка не /etc/ini.d/apache2 restart а /etc/init.d/apache2 restart
    спасибо за заметку, ускорили жизнь

  2. erdees
    December 27th, 2012 at 01:31 | #2

    @Трофим Бабич
    Опечатка – да! Когда пишу команды в статьях, мизинец все время тянется на Tab!

  3. Testor
    November 15th, 2013 at 21:39 | #3

    Блин ставил на свою голову по инструкции, потом куча проблем было, тут нужно при конфигурации вот так писать

    $ ./configure –enable-eaccelerator=shared

  4. erdees
    November 17th, 2013 at 03:22 | #4

    @Testor
    У меня никаких проблем не было. Что за ОС?
    Вообще, лучше использовать APC.

  1. No trackbacks yet.