OPcache помогает PHP-сайту работать быстрее: PHP не компилирует одни и те же файлы при каждом запросе, а берет готовый результат из кеша.
Для старых PHP-сайтов, CMS и Laravel это часто дает заметный эффект без переписывания кода.
Когда это нужно делать
OPcache нужен почти любому production PHP-сайту, особенно если страницы часто обращаются к одним и тем же PHP-файлам и сервер тратит время на их повторную обработку.
Что обычно мешает
- OPcache выключен
- слишком маленький memory_consumption
- не хватает max_accelerated_files
- production работает с частой проверкой файлов
- после деплоя старый код остается в кеше
- нет понимания, как безопасно сбрасывать кеш
Как проходит работа
- Проверяю, включен ли OPcache и какие настройки активны.
- Оцениваю количество файлов и память.
- Настраиваю параметры под production.
- Проверяю сценарий обновления кода и сброс кеша.
- Смотрю эффект по времени ответа и нагрузке.
Риски, которые лучше не игнорировать
- не увидеть новую версию кода после деплоя
- задать слишком маленькие лимиты
- выключить проверку файлов без процедуры сброса
- путать OPcache с кешем страниц
- оставить разные настройки для CLI и FPM без понимания
Что будет на выходе
- включенный и настроенный OPcache
- подходящие лимиты памяти и файлов
- понятный способ сброса после деплоя
- ускорение PHP-обработки
- проверка активных настроек
Что подготовить
- ссылку на сайт, репозиторий или серверный проект
- описание текущей проблемы и желаемого результата
- логи, скриншоты или текст ошибки, если они есть
- информацию о хостинге, CMS, фреймворке или сервере
- приоритет: быстро исправить или спокойно настроить правильно
Сроки
| Проверка и включение | 30-60 минут |
|---|---|
| Настройка под проект | 1-2 часа |
| Связка с деплоем | 2-4 часа |
Вопрос-ответ
OPcache заменяет кеш сайта?
Нет. OPcache кеширует PHP-код, а не готовые HTML-страницы.
Может ли он мешать обновлениям?
Да, если нет корректного сброса кеша после деплоя.
Нужен ли он на локальной разработке?
Не обязательно, а на production обычно нужен.
Итог
OPcache - один из самых простых способов ускорить PHP-сайт, но его нужно настроить так, чтобы обновления кода не превращались в проблему.
Нужна похожая задача? Напишите в Telegram: @rabotator_support. Пришлите ссылку, симптом и доступы только к нужной части проекта, я посмотрю и предложу понятный план.