Установка PHP eAccelerator на Debian/Ubuntu/Mint

eAccelerator является свободным и с открытым исходным кодом – PHP ускоритель и оптимизатор. Он дает производительность скриптов написанных на PHP за счет кэширования их в составленном состоянии, что позволяет сократить расходы на компиляции. Он также оптимизирует сценарии, чтобы ускорить их выполнение. eAccelerator обычно уменьшает нагрузку на сам сервер и увеличивает скорость програмного кода написанного на PHP в несколько раз.  Файлы, которые не могут поместиться в общей памяти кэшируются только на диске.

eAccelerator начал свое существование в декабре 2004 года как форк проекта Turck MMCache. Этот проект был основан Дмитрием Стоговым и большая часть кода Eaccelerator по-прежнему базируется на его работе.

1. Установка PHP eAccelerator.

Чтобы установить эту программу нужно будет кое что установить ( если у Вас еще не установлено):

# apt-get install php5-dev gcc g++ -y

После этого идем на официальный сайт и качаем исходный код данной программы:

# cd /usr/local/src
# wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip

Распакуем данный архив и переходи в папку с сорцами:

# unzip eaccelerator-0.9.6.1.zip && cd eaccelerator-0.9.6.1

Сейчас, выполним установку (соберем из исходников):

# sudo phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525

После чего, выполняем:

# ./configure && make install

Если не будет работать, то качаем новый архив с моего сайта, он полностью рабочий и проверялся мной:

# wget http://linux-notes.org/wp-content/uploads/files/modules/eaccelerator-for-PHP.zip
# unzip eaccelerator-for-PHP.zip

Переходим в папку и начнем  установку:

# phpize
# ./configure && make install

Начнется сборка и установка php eAccelerator. Вы можете столкнуться с рядом проблем ( не сможет скопилироваться, по этому  нужно читать и фиксить это. Со второго раза у меня получилось все установить и после чего начал использовать все это чудо.

Я уже почти закончил все. Теперь создадим конфигурационные файлы и так же папки для временных файлов:

# mkdir -p /var/cache/eaccelerator

Устанавливаем права на папку:

# chmod -R 777 /var/cache/eaccelerator

Займемся созданием наших конфигов.

– Можно прописать именно в самом  php.ini.

– Можно так же создать файл в папке /etc/php5/conf.d, я так и сделаю.

Для это выполняем:

# vim /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"

Для быстродействия прописываем  все это в автозагрузку ОС, чтобы это сделать нужно:

# vim /etc/fstab

 

[...]
#
tmpfs /var/cache/eaccelerator tmpfs defaults 0 0
[...]

И смонтируем все это дело, но нужно выполнить это от root:

# mount -a

Конфиг прописан, перезапускаем веб сервер apache:

# /etc/init.d/apache2 restart

Установка завершена, но нужно кое что доделать и проверить работу, этим мы и займемся. Проверяем работает ли у нас eAccelerator :

# php -v

или если используете php-cgi:

# php-cgi -v

Если все нормально, то должно выдать список установленных модулей.

ВНИМАНИЕ! Бывает так, что при попытке запуска 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

Фиксится это следующим образом:

# vim /etc/sysctl.conf

 

[...]
# добавляем в самый конец
kernel.shmmax=67108864
[...]

И затем выполняем:

# echo 67108864 > /proc/sys/kernel/shmmax

После этого ошибка пропадает!

Чтобы проверить что  работает все должным образом, стоит и хватит открыть страницу вашего сайта который есть на вашем сервере\хостинге и запустить:

# du -sh /var/cache/eaccelerator/

В папке должен появится кешированные страницы ( файлы).

Теперь скажу пару слов о phpmyadmin, если вы его используете, то он начнет показывать пустую страницу при открытии. Сейчас мы это быстренько исправим, а нужно в файле конфига нашего web сервера отключить использование eAccelerator в папке с phpmyadmin:

<Directory "/usr/share/phpmyadmin">
php_admin_value eaccelerator.enable 0
</Directory>

Вот и все корректировка, перезапустим апач и проверяем, должно работать!

От себя хочу сказать что существует много решение по мимо PHP eAccelerator, приведу пару из них:

– XCache;

–  Zend OPcache;

– PhpExpress;

– Ну и еще пару других решений.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.