Установка OPcache на Unix/Linux
Как Zend OPcache может ускорить сайт?
Zend OPcache обеспечивает более быстрое выполнение операции кэширования PHP кода через и оптимизацию. Это повышает производительность PHP, сохраняя заранее составленный скрипт byte-code в разделяемой памяти. Это устраняет шаги чтения кода с диска и его компиляцию на следующего использования.
Обратите внимание, что эта версия Zend OPcache совместим с PHP 5.2.x, 5.3.x, 5.4.x и PHP-5.5. Поддержка PHP 5.2 может будет удалена в будущем.
Сейчас я в своей теме «Установка OPcache на Unix/Linux» расскажу как можно установить OPcache на Unix/Linux на примере ОС -CentOS.
Обновляем ОС.
CentOS/RedHat/Fedora:
# yum update
Необходимо установить пакет ( если не установлен):
# yum install php-devel gcc
Debian или Ubuntu, или любого другого дистрибутива основанного на дебиан:
# apt-get update
Скачиваем исходный код:
# cd /usr/local/src && wget http://pecl.php.net/get/ZendOpcache
Распаковываем архив с исходным кодом ZendOpcache:
# tar xvfz ZendOpcache && cd zendopcache-*
Выполняем команду чтобы подготовить расширение для компиляции:
# phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525
Смотрим где лежит конфиг php-config:
# whereis php-config php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
Конфигурируем:
./configure --with-php-config=/usr/bin/php-config
или можно просто выполнить:
# ./configure
или
# ./configure --with-php-config=$(which php-config)
Выполняем сборку:
# make
ВНИМАНИЕ! Я с этого шага перехожу на пункт «Создание RPM пакета OPcache». Если это Вам не нужно, то следуйте инструкциям ниже и выполняем:
# make install
После этого, переходим к настройке opcache.
Создание RPM пакета OPcache
Создадим rmp пакет для удобства использования в дальнейшем.
Установка:
# yum install -y rpm-build rpmdevtools
После этого вам нужно будет создать RPM Source trees (rpm дерево исходного кода):
# rpmdev-setuptree
Установка и использование Checkinstall описано тут:
Создание RPM или DEB пакетов с Checkinstall в Linux
Собираем пакет Checkinstall:
# checkinstall --install=no ************************************** **** RPM package creation selected *** ************************************** This package will be built according to these values: 1 - Summary: [ Package created with checkinstall 1.6.2 ] 2 - Name: [ zendopcache ] 3 - Version: [ 7.0.5 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ Applications/System ] 7 - Architecture: [ x86_64 ] 8 - Source location: [ zendopcache-7.0.5 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ zendopcache ] Enter a number to change any of them or press ENTER to continue:[НАЖИМАЕМ ENTER] ********************************************************************** Done. The new package has been saved to /home/captain/rpmbuild/RPMS/x86_64/zendopcache-7.0.5-1.x86_64.rpm You can install it in your system anytime using: rpm -i zendopcache-7.0.5-1.x86_64.rpm **********************************************************************
Чтобы его становить, выполните:
# rpm -i /home/captain/rpmbuild/RPMS/x86_64/zendopcache-7.0.5-1.x86_64.rpm
После установки, загрузить расширение opcache Zend, добавив следующее в /etc/php.d/opcache.ini:
# vim /etc/php.d/opcache.ini # For x64 zend_extension=/usr/lib64/php/modules/opcache.so # for x86 #zend_extension=/usr/lib/php/modules/opcache.so opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
PS: Нужно использовать 1 из строк для x64 или для x86 архитектуры вашего сервера. У меня по умолчанию стоит для x64, именно такую архитектуру я использую.
Примените изменений
Перезагружаем веб сервер apache:
# service httpd restart
Перезагружаем (если исользуете) php-fpm:
# service php-fpm restart
Чтобы проверить установлен ли Zend opcache и работает он должным образом, выполните:
# php -v
Так же, можно создать в домашней директории сайта файл phpinfo.php:
# vim phpinfo.php
и добавить:
<?php phpinfo(); ?>
После чего перейти на сайт:
http://linux-notes.org/phpinfo.php
И должны увидеть:
Вот и все! Установка OPcache на Unix/Linux завершена.