Laravel 4 または 5 で PHP の通知 (未定義の変数の通知など) を無視し、単純な「未定義のインデックスまたは変数」の PHP の通知のためだけにアプリ全体を壊さないようにするにはどうすればよいですか?
config/error.php で「無視」配列を設定する Laravel 3 でそれを行うことができました。しかし、Laravel 4または5でそれを行う方法が見つかりません。
この動作は、エラー レポートが -1 に設定されていることが原因です。これは Laravel のデフォルトの動作です。Laravel 4 を使用している場合は の 14 行目、 Laravel 5 を使用している場合はvendor/laravel/framework/src/illuminate/Foundation/start.php
の 29 行目を参照してください。vendor/laravel/framework/src/illuminate/Foundation/Bootstrap/HandleExceptions.php
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() メソッドに追加したり、必要なものを追加したりできます