[解決済み] PHPで有用なエラーメッセージを得るにはどうしたらよいですか?
質問
PHPスクリプトを実行しようとすると、空白の画面が返ってくることがよくあります。エラーメッセージはなく、ただ空の画面が表示されるだけです。原因は単純な構文エラー(間違ったブラケット、セミコロンの欠落)か、 関数の呼び出しに失敗したか、あるいは全く別のものである可能性があります。
何が悪かったのか、それを突き止めるのはとても難しい。結局、コードをコメントアウトしたり、いたるところに"echo"ステートメントを入力したり、問題を絞り込むのに苦労します。でも、もっといい方法があるはずでしょう?
PHPにJavaのような有用なエラーメッセージを表示させる方法はありますか?
どのように解決するのですか?
構文エラーについては、php.iniでエラー表示を有効にする必要があります。デフォルトでは、エラーメッセージを顧客に見せたくないので、これらはオフになっています。
このページを確認する
の2つのディレクティブに関する情報は、PHPドキュメントに記載されています。
error_reporting
と
display_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/
関連
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] Node.js の console.log() で '[Object]' ではなく、完全なオブジェクトを取得するにはどうすればよいですか?
-
[解決済み] 検索」からすべての「permission denied」メッセージを除外するにはどうすればよいですか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み] SAJAXは死んだか?何を置き換えるべきか?
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] PHPで500 Internal Server Errorを出さずにエラーを表示させる方法【重複あり