Установка Zend OPcache на Debian или Centos

Опубликовано в Общее о программировании

Недавно я вовсю пользовался eAccelerator, но как оказалось у него проблемы с Joomla 3, а проще говоря, в некоторых случаях его использование вместе с Joomla 3 приводит к 500 ошибке. Я стал искать альтернативу кэшированию на сервере, так как некоторые сайты моих клиентов были именно на третьей джумле.  Просмотрев информацию в википедии, я остановился на Zend OPcache, так как он по выполняемому функционалу близок к eAccelerator. Кроме этого, на сервер уставлен APC для кэша пользовательских данных. Совместно они работают очень даже неплохо.

Сейчас я хочу вам рассказать, как установить “опкеш” на Debian 7 и Centos 6

Как мы понимаем, мы имеем уже настроенный сервер с php, MySQL и apache хотя бы. Если не имеем, можем заказать у меня по небольшим ценам.

Для работы с сервером воспользуемся программами WinSCP и PuTTY.

Начнем мы с Дебиан, который мне понравился уже шикарным стандартными репозиторием.

Перейдем во временную папку  cd /tmp

Поставим пакеты разработчика  apt-get install build-essential php5-dev

Чтобы установить именно последнюю версию кэша используем  wget http://pecl.php.net/get/ZendOpcache

Для того чтобы разархивировать файл используем  tar xvfz ZendOpcache

Теперь переходим в разархивированную папку cd /tmp/zendopcache-7.0.3 – (тут ваша версия расширения, имя папки с ней совпадает, то есть просто посмотрите, какая папка была разархивирована)

Теперь устанавливаем Zend OPcache командами:

Спасибо разработчикам, что побеспокоились об удобстве установки для нас. После make можно протестировать установку make test, чтобы узнать возможные проблемы с эти расширением на вашем сервере.

Теперь добавим Zend OPcache в загрузку и настроим некоторые параметры.

Сперва выполним find / -name opcache.so . У Debian 7 он тут /usr/lib/php5/20100525/opcache.so . В zend_extension надо писать этот путь.

Создаем в блокноте файл opcache.ini и пишем в нем:

Первой строчкой zend_extension мы включили само расширение, вторая opcache.memory_consumption задает использование памяти для расширения, в третьей opcache.interned_strings_buffer задаем объем памяти для хранения интернированы строк, в мегабайтах, четвертая opcache.max_accelerated_files – максимальное количество скриптов в памяти, пятая (opcache.revalidate_freq) это валидация кэша в секундах, у меня тут 0, то есть постоянно проверять на изменения. На opcache.revalidate_freq я бы остановился отдельно. В Joomla OPcache кеширует все файлы и будет отдавать кэш после сохранения файлы еще то время, которое в этой строке (не жалуйтесь, что файлы не сохраняются, подождите выставленное вами время). opcache.fast_shutdown определяет включено или выключено быстрое завершение последовательности ускоренного, кода, дает возможность использовать Zend Engine Memory Management и последняя opcache.enable_cli включает OPcache в CLI-версии PHP. Я привел вам рекомендуемые мной настройки. Подробно разобраться с настройками вы можете сами, следуя инструкции разработчиков.

Сохраняем этот файлик и загружаем его в /etc/php5/conf.d.

Идем в /etc и правим sysctl.conf, добавляя в него kernel.shmmax = 134217728 (для  128мб памяти выделяемых системой для кэша, вариации количества памяти зависят от памяти вашего сервера) и применяем командой sysctl -p.

Перезапускаем apache /etc/init.d/apache2 restart или сервер reboot.

Вводим php -v и видим что-то такое:

PHP X.X.X (built: дата сборки)

Copyright (c) 1997-201X The PHP Group

Zend Engine vX.X.X, Copyright (c) 1998-201X Zend Technologies

with Zend OPcache vX.X.X, Copyright (c) 1999-201X, by Zend Technologies

Если есть строчка с Zend OPcache, то вы поставили его на Debian.

ZendOpcache как установить

Теперь поговорим про Centos. Для Centos 6 процедура установки выглядит так:

В первую очередь перейдем в папку временную папку cd /tmp и поставим те же пакеты разработки yum install php-devel gcc для php 5.3 и yum --enablerepo=remi,remi-php54 install php-devel gcc для php 5.4.

После этого мы скачаем wget http://pecl.php.net/get/ZendOpcache и распакуем tar xvfz ZendOpcache и перейдем в распакованную папку  cd /tmp/zendopcache-7.0.3

Установка выглядит так:

после установки грузим наш файлик opcache.ini в /etc/php.d, ну а путь к запускаемому расширению должен выглядеть так /usr/lib64/php/modules/opcache.so для Centos 6 x64 или мы можем его найти командой find / -name opcache.so, то есть сам файл настроек выглядит примерно так:

О значениях параметров я писал выше в части про Debian.

Не забываем править в /etc файл sysctl.conf вставив в него в конец kernel.shmmax = 134217728 (для  128мб памяти) и применить sysctl -p или для OpenVZ sysctl -e -p (в общем, если выбило ошибки).

Перезапускаем apache для Centos service httpd restart или перезагружаем сервер reboot.

Командой php -v убеждаемся, что все работает, она должна вывести примерно то же, что и в Debian.

В php 5.5 Zend OPcache включен по умолчанию.

Похожие записи:

  • Нет ничего похожего
 
Скрыть/Показать

Feedback

Comments

3 комментария to “Установка Zend OPcache на Debian или Centos”
  1. Жора:

    Спасибо за то что написал человеческим языком !

  2. Наталья:

    Распаковывается уже 5 версия zendopcache-7.0.5

    • paha:

      Ну не важно какая. Кому необходимы старые версии php с кэшированием, это самое то.

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

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


 
Скрыть/Показать
Ноябрь 2017
Пн Вт Ср Чт Пт Сб Вс
« Мар    
 12345
6789101112
13141516171819
20212223242526
27282930  
Связаться со мной
Скрыть/Показать
Чат со мной - Обратится к нам в Skype
Архив записей
Скрыть/Показать
Скрыть/Показать
 
Скрыть/Показать

uptime узнать