![]() ![]() |
На злобу дняInvalid opcode 153/1/8 или учим eAccelerator дружить...Если ваш сайт работает на версии PHP 5.3+ и использует анонимные функции, то выполнение скрипта может быть остановлено с ошибкой: PHP Fatal error: Invalid opcode 153/1/8. in /.... Ошибка возникает в следствие того, что eAccelerator (расширение для ускорения работы PHP-кода), не совместим с анонимными функциями. Несовместимость появляется на стадии оптимизации опкода. Для устранения ошибки мне известны два решения. 1. Установить параметр PHP eaccelerator.optimizer в значение 0Например, если у вас PHP подключен в качестве модуля веб-сервера Apache (mod_php) добавьте в файл .htaccess в корне сайта строку вида: php_value eaccelerator.optimizer 0 Затем обновите файл, который упоминается в тексте ошибки (нужно, чтобы обновилась дата изменения файла на сервере) или удалите файловый кеш. На скорость работы большинства сайтов это решение почти не повлияет, т.к. eAccelerator будет по-прежнему выполнять свою основную функцию - кешировать опкод PHP. 2. Пересобрать eAccelerator, используя специальный патчПатч patch-optimize.c отключает стадию оптимизации опкода для PHP-скриптов, содержащих анонимные функции. После этого нужно удалить файловый кеш. На момент написания этой заметки прошло уже почти 6 месяцев с того момента, как на хостинге ihead.ru eAccelerator собран именно с этим патчем: все работает, Опубликовано: 05 января 2014 года.
|
|
© Алексей Кощеев, г.Киров, 2001-2023 |
|