1. ホーム
  2. php

[解決済み] PHPで有用なエラーメッセージを得るにはどうしたらよいですか?

2022-03-16 05:16:55

質問

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

何が悪かったのか、それを突き止めるのはとても難しい。結局、コードをコメントアウトしたり、いたるところに"echo"ステートメントを入力したり、問題を絞り込むのに苦労します。でも、もっといい方法があるはずでしょう?

PHPにJavaのような有用なエラーメッセージを表示させる方法はありますか?

どのように解決するのですか?

構文エラーについては、php.iniでエラー表示を有効にする必要があります。デフォルトでは、エラーメッセージを顧客に見せたくないので、これらはオフになっています。 このページを確認する の2つのディレクティブに関する情報は、PHPドキュメントに記載されています。 error_reportingdisplay_errors . display_errors が、おそらく変更したいものです。php.iniを変更できない場合は、.htaccessファイルに以下の行を追加することもできます。

php_flag  display_errors        on
php_value error_reporting       2039

については、お使いの PHP のバージョンに応じた E_ALL の値 (Gumbo が言及しているもの) を使用することを検討するとよいでしょう。 error_reporting を使用すると、すべてのエラーが表示されます。 詳細情報

その他3項目 (1) エラーログファイルには、すべてのエラーが記録されているので、確認することができます(ロギングが無効になっている場合を除く)。(2) 以下の2行を追加すると、シンタックスエラーでないエラーをデバッグするのに役立ちます。

error_reporting(-1);
ini_set('display_errors', 'On');

(3) もう一つの方法は、入力時にエラーをチェックするエディタを使うことである。 PhpEd . PhpEdにはデバッガも付属しており、より詳細な情報を得ることができます。(PhpEdのデバッガはxdebugに非常に似ていて、エディタに直接統合されているので、1つのプログラムですべてを行うことができます)。

カートマンの リンク も非常に良いですね。 http://www.ibm.com/developerworks/library/os-debug/