В своей новой теме «Установка PHP eAccelerator на Debian/Ubuntu/Mint» хотелось бы рассказать как можно установить и использовать eAccelerator для PHP на Debian/Ubuntu/Mint, расскажу что это такое и для чего он нужен.
eAccelerator является свободным и с открытым исходным кодом — PHP ускоритель и оптимизатор. Он дает производительность скриптов написанных на PHP за счет кэширования их в составленном состоянии, что позволяет сократить расходы на компиляции. Он также оптимизирует сценарии, чтобы ускорить их выполнение. eAccelerator обычно уменьшает нагрузку на сам сервер и увеличивает скорость програмного кода написанного на PHP в несколько раз. Файлы, которые не могут поместиться в общей памяти кэшируются только на диске.
eAccelerator начал свое существование в декабре 2004 года как форк проекта Turck MMCache. Этот проект был основан Дмитрием Стоговым и большая часть кода Eaccelerator по-прежнему базируется на его работе.
1. Установка PHP eAccelerator.
Чтобы установить эту программу нужно будет кое что установить ( если у Вас еще не установлено):
После этого идем на официальный сайт и качаем исходный код данной программы, я на данный момент, использую последнюю версию, можете ее скачать у меня:
Начнется сборка и установка 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
Вставляем конфиг:
14 lines
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
4 lines
[...]
#
tmpfs/var/cache/eacceleratortmpfsdefaults00
[...]
И смонтируем все это дело, но нужно выполнить это от 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
4 lines
[...]
# добавляем в самый конец
kernel.shmmax=67108864
[...]
И затем выполняем:
# echo 67108864 > /proc/sys/kernel/shmmax
После этого ошибка пропадает!
Чтобы проверить что работает все должным образом, стоит и хватит открыть страницу вашего сайта который есть на вашем серверехостинге и запустить:
#·du -sh /var/cache/eaccelerator/
В папке должен появится кешированные страницы ( файлы).
Теперь скажу пару слов о phpmyadmin, если вы его используете, то он начнет показывать пустую страницу при открытии. Сейчас мы это быстренько исправим, а нужно в файле конфига нашего web сервера отключить использование eAccelerator в папке с phpmyadmin:
3 lines
<Directory"/usr/share/phpmyadmin">
php_admin_valueeaccelerator.enable0
</Directory>
Вот и все корректировка, перезапустим апач и проверяем, должно работать!
От себя хочу сказать что существует много решение по мимо PHP eAccelerator, приведу пару из них:
— XCache;
— Zend OPcache;
— PhpExpress;
— Ну и еще пару других решений.
А я на этой ноте я завершу «Установка PHP eAccelerator на Debian/Ubuntu/Mint», благодарю за посещение моего сайта http://linux-notes.org и надеюсь он вам помогает.