0

PHPでは、にerror_reporting設定していE_ALLます。

警告が発生した場合、または例外が発生した場合にphpを一元的に実行停止する方法があるかどうか疑問に思いました。実行を完全に停止します。変数にタイプミスがあり、スクリプトが実行を継続するという多くのバグに遭遇しました。

PHPで厳密モードを見つけましたか?これは良いコードソリューションを提供しますが、同じことを達成できるような構成を探しています。存在しますか?

しかし、すべてのプロジェクトでカスタムエラーハンドラーを使用する必要がないようにしようとしていますか?おそらくphp.iniでこれを行う方法を知っている人はいますか?できれば、警告またはエラーを表示して停止するようにphpを構成する方法があります。

ありがとうございました。

4

5 に答える 5

3

私の知る限り、実行をすぐに停止するカスタムエラーハンドラーを作成する以外にこれを行う方法はありません。ただし、それを行うには約4行しかかかりません(またはSomeKittensが投稿した回答/コメントを使用します)。

申し訳ありませんが、あなたの質問に対する答えは「いいえ」です。

于 2012-08-21T16:16:01.890 に答える
1

set_error_handlerを使用して、エラーハンドラー内で例外をスローします。

キャッチされていない例外は実行を停止します。

于 2012-08-21T16:16:37.937 に答える
1

カスタムエラーハンドラは、これを行うために私が知っている最も簡単な方法です。それらは複雑ではありません-スクリプトをすぐに終了する関数を記述し、それをエラー処理に使用するようにPHPに指示することができます-(単純な)例:

function my_error_handler($num,$msg) {
 die();
}
set_error_handler("my_error_handler");
于 2012-08-21T16:16:45.430 に答える
0

アプリは、できるだけ早く独自のエラーハンドラーを登録する必要があります。警告またはエラーが発生した場合は、そこで中止してください。構文エラーはそのようにトラップされないことに注意してください。http://php.net/manual/en/function.set-error-handler.phpを参照してください

于 2012-08-21T16:16:06.210 に答える
0

PHP 5.5 zts / non-ztsで見られるように、モジュールSuhosinは、evalおよびfuncブラックリストパラメーターにE_WARNINGを使用したこのデフォルトの動作*を持っています。

*最初の警告でスクリプトを停止します。

于 2015-08-09T17:05:34.300 に答える