6

index.phpとservice.phpの2つのページがあるとしましょう

index.phpは、5分ごとに1回の日付スタンプを含むhttp-postをservice.phpに送信します。

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

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

ページに入ったときに存在しないので。

ASP.NETではブレークポイントを作成するだけですが、phpで投稿されたデータをどのように検査しますか?

ありがとう

4

5 に答える 5

10

$_POSTを使用して配列のステータスをファイルに保存しvar_export(上書きを避けるために現在のファイルを使用time())、後でファイルを検査します。

file_put_contents( 'debug' . time() . '.log', var_export( $_POST, true));
于 2012-06-19T20:58:29.743 に答える
5

var_dumpまたはを使用して投稿の値を出力できprint_rます。「できない」と言う理由については説明していません。

実際、投稿データをデバッグする方法はいくつかあります。

  • TamperData-フォームの投稿データを傍受して変更する

  • HttpFox -httpリクエストをデバッグします

  • 優れた汎用デバッグツールであるFirebugを使用することもできます。「ネット」パネルを使用すると、送信された投稿データとサーバーの出力をデバッグできます。

    Firebug-汎用開発ツール。

  • Firebugにはそれ自体に拡張機能があります。FirePHPと呼ばれるものがあり、デバッグデータをFirebugコンソールまで追跡できます。私は個人的にFirePHPを設定する運があまりありませんでしたが、真剣な試みもしていません。

  • 組み込みのツールを使用することもできます:Chrome(F12)またはFirefox(CTRL+ SHIFT+ K

  • 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- http://php.net/manual/en/function.error-log.php

FirePHPでFirebugについて説明している記事-http ://sixrevisions.com/web-development/how-to-debug-php-using-firefox-with-firephp/

于 2012-06-19T21:04:10.850 に答える
1

print_rを使用して、人間が読める方法でデータを検査できます。

echo '<pre>';
print_r($_POST);
于 2012-06-19T20:57:46.577 に答える
1

サーバー上の別のPHPスクリプトによって行われた内部要求に応答しているため、いくつかのオプションがあります。ログにsyslog記録する、独自のログファイルまたはデータベースに記録する、またはどこかにメールを送信する。

于 2012-06-19T20:59:17.887 に答える
0

PHPの場合(多くのIDEに適用可能ですが、特定のIDEを構成する必要があります)、xdebugを使用してブレークポイントを設定し、変数を検査できます。

于 2012-06-19T20:59:41.633 に答える