August 20, 2026 · by CLIQHOST
Если у вас есть сайт на 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 за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."