Как я могу заставить Laravel 4 или 5 игнорировать уведомления PHP (например, неопределенные уведомления об изменениях) и не нарушать все приложение только из-за простого «неопределенного индекса или переменной» уведомления PHP?
Я мог бы сделать это на Laravel 3, устанавливая массив «ignore» в config / error.php. Но я не могу найти, как это сделать в Laravel 4 или 5.
Такое поведение связано с установкой сообщения об ошибках на -1. Это поведение по умолчанию Laravel – см. vendor/laravel/framework/src/illuminate/Foundation/start.php
14 в документе vendor/laravel/framework/src/illuminate/Foundation/start.php
если вы используете Laravel 4 или строку 29 в vendor/laravel/framework/src/illuminate/Foundation/Bootstrap/HandleExceptions.php
если вы используете Laravel 5:
error_reporting(-1); // Reports everything
Обработчик ошибок Laravel уважает ваш уровень error_reporting
и игнорирует любые ошибки, которые вы скажете PHP не сообщать. Стоит отметить, что изменение уровня отчетности об ошибках – не очень хорошая идея. Но чтобы переопределить предыдущую инструкцию, вы можете добавить свои настройки отчетов об ошибках в app/start/global.php
(в Laravel 4) или app/bootstrap/app.php
(в Laravel 5)
error_reporting(E_ALL ^ E_NOTICE); // Ignores notices and reports all other kinds
Опять же это не решение. Это просто то, о чем вы просите. Все и любые ошибки, предупреждения, уведомления и т. Д. Могут и должны быть исправлены.
Вы можете увидеть все константы для сообщения об ошибках здесь: http://www.php.net/manual/en/errorfunc.constants.php
Вы можете получить дополнительную информацию о том, как использовать error_reporting здесь: http://php.net/manual/en/function.error-reporting.php
В Laravel 5.1 вы можете добавить error_reporting(0)
или все, что хотите, в метод \ app \ Providers \ AppServiceProvider.php boot ()
Для laravel 5.0 Комментарий следующая строка
throw new ErrorException($message, 0, $level, $file, $line);
в
продавец / Laravel / рамки / SRC / Осветите / Фонд / Bootstrap / HandleExceptions.php