PHPで役立つエラーメッセージを取得するにはどうすればいいですか? 質問する

PHPで役立つエラーメッセージを取得するにはどうすればいいですか? 質問する

PHP スクリプトを実行しようとすると、空白の画面が返されることがよくあります。エラー メッセージは表示されず、単に空の画面が表示されます。原因は、単純な構文エラー (括弧が間違っている、セミコロンがない)、関数呼び出しの失敗、またはまったく別の何かである可能性があります。

何が間違っていたのかを突き止めるのは非常に困難です。結局、コードをコメントアウトしたり、あらゆる場所に「echo」ステートメントを入力したりして、問題を絞り込もうとします。しかし、もっと良い方法があるはずですよね?

PHP で Java のように役立つエラー メッセージを生成する方法はありますか?

ベストアンサー1

デフォルトでは、「顧客」にエラー メッセージが表示されないようにするため、エラーの表示はオフになっています。

このページをチェック2 つのディレクティブの詳細については、PHP ドキュメントの と を参照してください。error_reportingおそらくdisplay_errorsdisplay_errors変更したいのは です。

したがって、3 つの選択肢があります。

(1) エラーログファイルにはすべてのエラーが記録されているので、それをチェックすることができます(ログ記録が無効になっていない限り)。エラーログを有効にするには、log_errors構成ディレクティブが に設定されていることを確認してくださいOn。ログは、エラーが PHP ではなく Web サーバーによって発生した場合にも役立ちます。

(2)次の2行を追加すると、同じファイル内で発生した構文エラー以外のエラーをデバッグするのに役立ちます。

error_reporting(E_ALL);
ini_set('display_errors', 'On');

ライブ サーバーでは、後者を設定する必要があることに注意してくださいOff(ただし、発生したすべてのエラーをログ ファイルから確認する必要があるため、後者のみに設定してください)。

ただし、同じファイルで構文エラーが発生した場合、上記のコマンドは機能しないため、php.ini で有効にする必要があります。php.ini を変更できない場合は、.htaccess ファイルに次の行を追加することもできますが、現在ではほとんどサポートされていません。

php_flag  display_errors        on
php_value error_reporting       -1

(3)別の選択肢としては、入力時にエラーをチェックするエディタを使うことです。翻訳、VSCode、PHPStorm などがあります。これらにはすべて、より詳細な情報を提供できるデバッガーが付属しています。(PhpEd デバッガーは xdebug に非常に似ており、エディターに直接統合されているため、1 つのプログラムですべてを実行できます。)

おすすめ記事