Сообщение «Прекомпилятор не установлен» в Битрикс: Opcache и путь zend_extension
Что видит администратор
В административном разделе или на диагностике производительности появляется текст вроде «Прекомпилятор не установлен», хотя сборка ставилась через «Битрикс: веб‑окружение», где официально рекомендуют Zend OPcache перед устаревшими APC или XCache.
Почему так бывает
Модуль OPcache уже собран или подключён пакетом, но указатель загрузки .so в конфигурации PHP неверен или ссылается на каталог, где файла нет. Тогда сообщение загрузки в логах повторяет вариант: «cannot open shared object file», а установщик pecl может считать пакет «установленным» без рабочей строки zend_extension.
Практическое исправление
Найдите фактическое расположение opcache.so (часто /usr/lib64/php/modules/opcache.so на 64‑битных системах) и пропишите его в отдельном фрагменте /etc/php.d/opcache.ini или в основном php.ini для используемого SAPI:
zend_extension=/usr/lib64/php/modules/opcache.soПосле правки перезапустите PHP‑FPM или Apache, убедитесь в php -i или на странице диагностики, что секция OPcache активна.
Типовые параметры
Для продуктивного сайта часто выставляют ограничения близкие к таким (под конкретную память и политику деплоя их уточняют):
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
realpath_cache_size=4096kПри сомнениях в номере модуля для вашей версии PHP логичнее уточнить путь у вендора образа или в тикете техподдержки «1С‑Битрикс», чем гадать с дублирующими постановками расширения.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии