Verification: a143cc29221c9be0

Opcache php 7 что это

Opcache php 7 что это

Проверим ZendOpCache на Ubuntu Server

php -v

Вывод должен быть примерно такой:

PHP 7.3.9-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Sep  2 2019 12:54:24) ( NTS )
 Copyright (c) 1997-2018 The PHP Group
 Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
     with Zend OPcache v7.3.9-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Настройка Zend OPcache

В сети много статей в которых описывается оптимальная настройка Zend OPcache. Почитав их, я решил объединить их в своей статье и найти золотую середину. На моем сервере установлен php 7.3 + nginx. И так, открываем файл конфигурации php. :

sudo nano /etc/php/7.3/fpm/php.ini 

Находим следующие строки и выставляем значения как у меня (хотя можете поэкспериментировать)

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=7963
opcache.revalidate_freq=2
opcache.fast_shutdown=1
  • opcache.enable — включаем наш Zend OPcache.
  • opcache.enable_cli — включает OPcache в CLI-версии PHP.
  • opcache.memory_consumption — задает использование памяти для расширения (если ОЗУ позволяет, то можно увеличить значение).
  • opcache.interned_strings_buffer — задает объем памяти для хранения интернированных строк, в мегабайтах.
  • opcache.max_accelerated_files – максимальное количество скриптов в памяти (тут тоже можно увеличить, если памяти хватает).
  • opcache.revalidate_freq — это валидация кэша в секундах, в интернете все рекомендуют значение 60, я же использую 2, но иногда рекомендуют ставить 0 (ноль), то есть постоянно проверять на изменения. К примеру в Joomla OPcache кэширует все файлы и будет отдавать кэш после сохранения файлов еще то время, которое в этой строке. То есть вы сохранили файл, но все равно в течении указанного времени будете видеть старую копию из кеша. Поэтому не жалуйтесь, что файлы не сохраняются, подождите выставленное вами время.
  • opcache.fast_shutdown — определяет включено или выключено быстрое завершение последовательности ускоренного, кода, дает возможность использовать Zend Engine Memory Management

Перезапуск web-сервера

Чтобы изменения вступили в силу нужно перезапустить вэб-сервер:

/etc/init.d/nginx restart 

или

sudo service nginx restart

Установка OPcache используя PECL

# pecl install zendopcache

После установки будет сообщен путь размещения, например, You should add "zend_extension=/usr/lib64/php/modules/opcache.so" to php.ini.

Установка OPcache используя yum

# yum install php-pecl-zendopcache

Добавим OPcache в конфигурацию PHP, например, создадим файл /etc/php.d/opcache.ini и внесем в него инструкции:

zend_extension=/usr/lib64/php/modules/opcache.so
opcache.enable = 1
;opcache.enable_cli = 1
opcache.memory_consumption = 128
opcache.max_file_size = 1M
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 7963
opcache.fast_shutdown = 1
; Проверять изменение файла раз в 5 секунд
opcache.revalidate_freq = 5
opcache.use_cwd = 1

Перезапустим Apache:

# service httpd restart