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

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

В своей новой теме «Установка PHP eAccelerator на Debian/Ubuntu/Mint» хотелось бы рассказать как можно установить и использовать eAccelerator для PHP на 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

Займемся над созданием наших конфигов. Делается это 2:

— Можно прописать именно в самом  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;

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

А я на этой ноте я завершу «Установка PHP eAccelerator на Debian/Ubuntu/Mint», благодарю за посещение моего сайта http://linux-notes.org и надеюсь он вам помогает.

 

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

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

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