PHP スクリプトを実行しようとしても、空白の画面しか表示されないことが何度もあります。エラーメッセージはなく、空白の画面が表示されるだけです。原因は、単純な構文エラー (括弧の間違い、セミコロンの欠落)、関数呼び出しの失敗、またはまったく別の原因である可能性があります。
何が問題なのかを理解するのは難しいです。結局、コードをコメントアウトし、ところどころに「echo」ステートメントを追加するなどして、問題の範囲を絞り込むことにしました。でも、もっと良い方法があるはずですよね?
Java のように PHP で有用なエラー メッセージを生成する方法はありますか?
次のコードはすべてのエラーを有効にします:
リーリー次のリンクも参照できます:
「顧客」にエラー メッセージを見られたくないため、デフォルトでは表示エラーはオフになっています。
2 つのディレクティブ:error_reporting
と
display_errorsについては、PHP ドキュメントのこのページ
を参照してください。変更する必要があるのは、display_errors
です。したがって、選択肢は 3 つあります:
(1) エラー ログ ファイルにはすべてのエラーが含まれているため、エラー ログ ファイルを確認できます (ログ記録が無効になっていない限り)。エラー ログを有効にするには、
log_errors
構成ディレクティブがOn
に設定されていることを確認してください。ログは、エラーの原因が PHP ではなく Web サーバーにある場合にも役に立ちます。(2) 次の 2 行のコードを追加すると、同じファイル内で発生する構文以外のエラーのデバッグに役立ちます。 リーリー
運用サーバーでは、後者はOff
ただし、同じファイル内で構文エラーが発生した場合、上記のコマンドは機能しないため、php.ini でコマンドを有効にする必要があります。 php.ini ファイルを変更できない場合は、次の行を .htaccess ファイルに追加してみることもできますが、最近ではこれがサポートされることはほとんどありません。 リーリーに設定する必要があることに注意してください (ただし、発生したすべてのエラーをログ ファイルから知る必要があるため、後者のみです)。
(3) もう 1 つのオプションは、
PhpEd、VSCode、PHPStorm など、入力時にエラーをチェックするエディターを使用することです。これらにはすべて、より詳細な情報を提供するデバッガが付属しています。 (PhpEd デバッガーは xdebug に非常に似ており、エディターに直接統合されているため、1 つのプログラムですべてを行うことができます。)