Как принудительно включить режим error_reporting в PHP 5.3

У меня есть код, зашифрованный с помощью ioncube, а также написанный для ‹ PHP 5.3. Есть тонна устаревшего кода, который все еще будет работать, но по всему сайту есть сообщения об ошибках.

Есть ли способ принудительно принудительно настроить error_reporting на E_ALL ^ ​​E_DEPRECATED или аналогичный? Я уверен, что в коде они по какой-то причине жестко запрограммированы на E_ALL.


person Noodles    schedule 05.10.2010    source источник


Ответы (2)


Отключите display_errors и запишите их в файл. Это стандартная процедура для любого рабочего веб-сайта.

В файле конфигурации Apache php_admin_value error_reporting X должно сделать невозможным переопределение пользовательским кодом, где X — это целочисленное значение, которое вы хотите.

Кроме того, set_error_handler() может пригодиться, если вы хотите выполнить некоторые проверки во время выполнения.

person Matthew    schedule 05.10.2010
comment
К сожалению, это не работает для меня. Я попытался добавить php_admin_value error_reporting 22519 (это значение int E_ALL & ~E_NOTICE & ~E_DEPRECATED) в мой httpd.conf в разделе виртуального хоста. Хотя я вижу, что это работает. Если я запускаю phpinfo(), тогда error_reporting появляется, как я указываю в локальном значении. Однако кажется, что функция error_reporting переопределяет php_admin_value (там, где ini_set не может). - person Noodles; 06.10.2010
comment
Я думаю, что приложение, которое я использую, уже устанавливает обработчик ошибок. В итоге я откатился на PHP 5.2, чтобы приложение заработало. Спасибо за вашу помощь в любом случае. - person Noodles; 07.10.2010

Откатился на PHP 5.2 и избежал проблемы.

person Noodles    schedule 19.11.2010