PHP OPcache — это расширение для PHP, которое кэширует скомпилированный байт-код PHP-скриптов в оперативной памяти, чтобы уменьшить нагрузку на процессор и ускорить выполнение кода.
Зачем нужен OPcache?
Когда PHP-скрипт выполняется, интерпретатор PHP сначала читает код, компилирует его в байт-код (opcode), а затем выполняет. Этот процесс повторяется при каждом запуске скрипта, что приводит к дополнительной нагрузке. OPcache решает эту проблему:
- Ускоряет выполнение PHP-скриптов – так как код уже скомпилирован и хранится в памяти.
- Снижает нагрузку на процессор – так как компиляция происходит один раз при первом запуске.
- Оптимизирует работу веб-приложений – особенно полезно для высоконагруженных сайтов.
Как включить OPcache?
Если PHP установлен на сервере, OPcache, скорее всего, уже доступен. Его можно активировать в файле конфигурации php.ini
:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
Примечание: Параметр validate_timestamps=1
позволяет OPcache проверять обновления файлов через интервал, указанный в revalidate_freq
. Если установить validate_timestamps=0
, изменения в коде не будут автоматически подхватываться (требуется перезапуск PHP).
Как проверить, работает ли OPcache?
- Запустить команду в терминале:
php -i | grep opcache
- Создать PHP-скрипт с
phpinfo();
и открыть его в браузере.
Когда стоит использовать OPcache?
- Всегда, если у вас постоянно работающий сервер с PHP (Apache, Nginx + PHP-FPM и т. д.).
- Особенно полезен для CMS (WordPress, Joomla, Drupal) и фреймворков (Laravel, Symfony, Yii).
- Менее полезен в средах с динамическими изменениями кода (например, во время активной разработки).