PHP
#php#opcache#production#performance#php-fpm#bitrix

OPcache: настройка для продакшена (php.ini)

Рекомендуемые опции OPcache для production: память, число файлов, отключение проверки timestamps. По документации PHP.

Как использовать

  1. Добавьте в php.ini или в конфиг пула PHP-FPM (например в /etc/php/8.2/fpm/conf.d/ или pool.d).
  2. При validate_timestamps=0 после выката кода перезапускайте PHP-FPM (systemctl restart php8.2-fpm).
  3. Проверка: php -i | grep opcache или php -r "print_r(opcache_get_status(false));".

OPcache кэширует скомпилированный opcode в памяти. Без него продакшен не рекомендуется. Параметры описаны в Runtime Configuration.

Минимальная конфигурация для продакшена

opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
  • validate_timestamps=0 — не проверять изменение файлов (максимальная скорость). После деплоя перезапускайте FPM или сбрасывайте кэш скриптом.
  • Если оставляете проверку: opcache.validate_timestamps=1 и opcache.revalidate_freq=2 (проверка не чаще раз в 2 секунды).

Опционально (PHP 7.4+)

opcache.preload=/path/to/preload.php
opcache.preload_user=www-data

Preload загружает часто используемые классы при старте FPM (подходит для тяжёлых фреймворков).

Подробнее: Apache httpd и PHP-FPM: модули и расширения для продакшена (с учётом Bitrix).