August 20, 2026 · by Alex M.
Если у вас есть сайт на WordPress, Joomla или любое другое PHP-приложение, и вы хотите ускорить его без дополнительных затрат на железо, PHP OPcache — одно из самых эффективных решений. Расширение включено в PHP начиная с версии 5.5 и способно сократить время ответа сервера на 50–80%.
В этом руководстве вы узнаете, что именно делает OPcache, как его активировать и правильно настроить — на VPS NVMe с root-доступом или через панель хостинга cPanel.
Каждый раз, когда сервер получает PHP-запрос, интерпретатор выполняет следующее:
.php-файл с дискаШаги 1 и 2 повторяются при каждом запросе, даже если код не изменился. OPcache устраняет повторную компиляцию, сохраняя скомпилированный байткод непосредственно в оперативной памяти. При последующих запросах PHP переходит сразу к выполнению.
Результат: меньше нагрузки на CPU, быстрые ответы, более высокая пропускная способность.
На VPS SSD с SSH-доступом выполните:
php -r "echo opcache_get_status() ? 'OPcache активен' : 'OPcache неактивен';"
Или создайте временный файл:
echo '<?php phpinfo(); ?>' > /var/www/html/info.php
Откройте https://yourdomain.md/info.php в браузере и найдите раздел Zend OPcache. Удалите файл сразу после проверки — он раскрывает чувствительную информацию о сервере.
В cPanel проверить активные расширения можно через MultiPHP INI Editor или PHP Selector.
Найдите файл php.ini:
php --ini | grep "Loaded Configuration"
Откройте файл и добавьте или раскомментируйте:
extension=opcache
zend_extension=opcache
Перезапустите PHP-FPM или Apache:
# Для PHP-FPM
systemctl restart php8.2-fpm
# Для Apache с mod_php
systemctl restart apache2
opcache.enable и установите значение 1Вот где разница между просто активным OPcache и правильно настроенным. Добавьте эти директивы в php.ini или в отдельный файл /etc/php/8.2/fpm/conf.d/10-opcache.ini:
; Активация
opcache.enable=1
opcache.enable_cli=0
; Выделенная память (МБ) — рекомендуем 128–256 МБ
opcache.memory_consumption=128
; Размер буфера интернированных строк
opcache.interned_strings_buffer=16
; Максимальное количество файлов в кеше
opcache.max_accelerated_files=10000
; Интервал проверки изменений (сек). 0 = ручной сброс
opcache.revalidate_freq=60
; Валидация временных меток (1 = да, 0 = макс. производительность, ручной сброс)
opcache.validate_timestamps=1
; Сохранение комментариев (нужно для фреймворков с аннотациями)
opcache.save_comments=1
; Файловый кеш на диске (резерв после перезапуска)
opcache.file_cache=/tmp/opcache
opcache.file_cache_consistency_checks=1
| Директива | Рекомендуемое значение | Описание |
|---|---|---|
memory_consumption |
128–256 МБ | RAM для кеша байткода |
max_accelerated_files |
10 000–20 000 | WordPress + плагины = тысячи файлов |
revalidate_freq |
60 (прод.) / 0 (dev) | Как часто проверять изменения |
validate_timestamps |
1 | Автоматически обнаруживать изменённые файлы |
WordPress с типичным набором плагинов может генерировать 3 000–8 000 PHP-файлов. С WooCommerce, дочерними темами и конструкторами страниц это число быстро растёт.
Рекомендации для WordPress-сайта на WordPress-хостинге:
opcache.memory_consumption=192
opcache.max_accelerated_files=15000
opcache.revalidate_freq=300
opcache.fast_shutdown=1
После каждого обновления темы или плагинов вручную сбросьте кеш OPcache. Простой скрипт:
<?php
if (function_exists('opcache_reset')) {
opcache_reset();
echo 'OPcache успешно сброшен.';
}
Или через WP-CLI (рекомендуется на VPS):
wp eval 'opcache_reset();' --allow-root
Подробную статистику можно получить с помощью opcache_get_status():
<?php
$status = opcache_get_status();
echo 'Используемая память: ' . round($status['memory_usage']['used_memory'] / 1024 / 1024, 2) . ' МБ\n';
echo 'Файлов в кеше: ' . $status['opcache_statistics']['num_cached_scripts'] . '\n';
echo 'Hit rate: ' . round($status['opcache_statistics']['opcache_hit_rate'], 2) . '%\n';
Здоровый hit rate — выше 90%. Если он ниже:
- Увеличьте memory_consumption
- Увеличьте max_accelerated_files
- Проверьте, не вызывает ли validate_timestamps частых инвалидаций
Для визуального мониторинга используйте бесплатный инструмент opcache-gui — простой дашборд, который устанавливается прямо на сервер.
opcache.validate_timestamps=1
opcache.revalidate_freq=300
opcache.validate_timestamps=1
opcache.revalidate_freq=0
Или полностью отключите OPcache в dev, чтобы видеть изменения мгновенно:
opcache.enable=0
На продакшен-VPS NVMe никогда не устанавливайте одновременно revalidate_freq=0 и validate_timestamps=0 без автоматического сброса кеша после деплоя.
Если memory_consumption слишком мал (например, 32 МБ), кеш быстро заполнится и производительность упадёт. Проверьте реальное использование через opcache_get_status() и скорректируйте значение.
max_accelerated_filesЗначение по умолчанию (2 000) недостаточно для WordPress. Установите минимум 10 000.
Если вы обновили PHP-файлы, но OPcache отдаёт старую версию, вы увидите странное поведение или ошибки. Добавьте opcache_reset() в скрипт деплоя или CI/CD-пайплайн.
На качественном shared-хостинге, например cPanel-хостинг CLIQHOST, OPcache настроен с изоляцией по пользователям — один аккаунт не влияет на другой.
OPcache оптимизирует выполнение PHP (на стороне сервера). Для полной производительности комбинируйте его с:
Эта комбинация позволяет достичь времени ответа менее 200 мс даже при высоком трафике. Если вам нужен полный контроль над стеком, управляемый выделенный сервер обеспечит необходимые ресурсы и гибкость.
Если хотите узнать больше о настройке серверной производительности, загляните в наш блог — там регулярно появляются практические руководства.
PHP OPcache — одна из простейших и эффективнейших оптимизаций для PHP-сервера. Несколько правильно подобранных директив в php.ini значительно снижают нагрузку на CPU и ускоряют время ответа без дополнительных затрат.
Ключевые шаги:
1. Убедитесь, что OPcache активен
2. Выделите достаточно RAM
3. Установите max_accelerated_files под размер вашего приложения
4. Сбрасывайте кеш после каждого деплоя или обновления
5. Следите за hit rate и периодически корректируйте настройки
Если хотите хостинг, где OPcache настроен правильно с самого начала, изучите варианты VPS NVMe или WordPress-хостинга от CLIQHOST — или свяжитесь с нами для индивидуальной настройки.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"Перенесли интернет-магазин с зарубежного хостинга — разница огромная: страницы открываются мгновенно, а поддержка отвечает за минуты, на румынском."
"Перенесли 12 клиентских сайтов на CLIQHOST. Бесплатная миграция, нулевой даунтайм, а настройка cPanel — именно то, что нужно нашей команде. Очень рекомендую."
"Наш VPS NVMe спокойно держит пики трафика. Полный root, локальный дата-центр и оплата в MDL — всё, что мы хотели от провайдера."