13

Laravel 4 または 5 で PHP の通知 (未定義の変数の通知など) を無視し、単純な「未定義のインデックスまたは変数」の PHP の通知のためだけにアプリ全体を壊さないようにするにはどうすればよいですか?

config/error.php で「無視」配列を設定する Laravel 3 でそれを行うことができました。しかし、Laravel 4または5でそれを行う方法が見つかりません。

4

2 に答える 2

14

この動作は、エラー レポートが -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 を参照してください

于 2013-08-28T22:49:25.400 に答える
12

Laravel 5.1 ではerror_reporting(0)、 \app\Providers\AppServiceProvider.php の boot() メソッドに追加したり、必要なものを追加したりできます

于 2016-05-18T05:34:09.603 に答える