2012-06-19 10 views
5

を調べるには、私は2ページを持っていることを言うことができます:index.phpのとservice.php

のindex.phpは一回第五分に日付スタンプを含む、service.phpに対してHTTPポストを送信します。

service.phpの投稿変数をどのようにデバッグできますか?明らかに私はできません。

if(isset($_POST['key'])) { 
    var_dump($_POST['key']); 
} 

私がページに入るときは、それは存在しないので、私はちょうど行うことができません。

私はちょうどブレークポイントを作成しますが、私はどのようにPHPで投稿されたデータを検査するのですか?

おかげ

+0

'print_r($ _ POST)'; –

答えて

7

(上書きを回避するために、現在のtime()で)var_exportを使用してファイルに$_POSTアレイの状態を保存し、後でファイルを調べ。

file_put_contents('debug' . time() . '.log', var_export($_POST, true)); 
+0

私は非常にうまく自分自身を説明しませんでしたが、私の質問を理解したように見えます:)このファイルはどこに保存されていますか? – Johan

+1

気にしない、これは私が必要としたものです。ありがとう – Johan

1

あなたは、人間が読み取り可能な方法でデータを検査するprint_rを使用することができます。

echo '<pre>'; 
print_r($_POST); 
1

は、サーバー上の別のPHPスクリプトによって作られた内部要求に応答しているので、あなたは、いくつかのオプションがあります:log it to syslogは、独自のログファイルやデータベースにログインするか、どこかにメールを送ってください。 PHPのための

+0

あなたのコメントをありがとう、今はデータベースに保存しています。しかし、ログはデバッグ中のより良いオプションのように聞こえる – Johan

0

私は、人はあなたが出力ポストの値がvar_dumpまたはprint_rを使用することができ、ブレークポイントとinspectあなたの変数

5

を設定するためにxdebugを使用することができます(多くのIDEへの適用、あなたはしかし、あなたの特定のIDEを設定する必要があります) - int型

  • TamperData:あなたは、デバッグポストデータにはいくつかの方法は、確かに、

    あり、「できません」と言う理由は、次のではないのですerceptと変更フォームポストデータ

  • HttpFox - デバッグのhttpあなたはまた、優れた汎用デバッグツールであるFirebugのを、使用することができます

  • を要求します。 「ネット」パネルでは、送信された投稿データとサーバーの出力をデバッグできます。

    Firebug - 汎用開発ツールです。

  • Firebugには拡張機能があります。 FirePHPと呼ばれるものがあり、Firebugコンソールにデバッグデータをトレースすることができます。私は個人的にFirePHPを設定する運があまりありませんでしたが、重大な試みはしませんでした。Chromeで(F12を)または(SHIFT + CTRL + K)Firefoxでエラーログに

  • ログデバッグデータは、使用して:

  • また、組み込みツールを使用することができますerror_logコマンド:

    error_log( "\ n" .serialize($ _ POST)、3、 "/var/tmp/my-errors.log");

ドキュメント

PHPののvar_dump - http://php.net/manual/en/function.var-dump.php

PHPのしますprint_r - http://php.net/manual/en/function.print-r.php

PHPのerror_log - FirePHPでFirebugのを議論http://php.net/manual/en/function.error-log.php

論文 - http://sixrevisions.com/web-development/how-to-debug-php-using-firefox-with-firephp/