Я хочу включить устаревшие ошибки глобально, но отключить их для определенной части стороннего кода, на который у меня нет времени исправить. Итак, у меня это в php.ini: error_reporting = E_ALL & ~E_NOTICE | E_DEPRECATED
error_reporting = E_ALL & ~E_NOTICE | E_DEPRECATED
и это прямо перед строкой, где я хочу отключить предупреждения error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
Однако это не работает, я все равно получаю предупреждения для этой конкретной строки. Если я отключу их глобально в php.ini, он будет работать. Я использую PHP 5.3.10. Какие-нибудь идеи, что может быть неправильным?
Догадаться. У стороннего кода есть собственный обработчик ошибок и, по-видимому, он отменяет все, что вы установили с помощью error_reporting (). Когда я прокомментировал строку set_error_handler (), вступила в силу функция error_reporting ().
Добавьте ниже строку отчета об ошибках в php.ini:
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED);
Затем перезагрузите сервер и проверьте его.