var_dumpより便利!「HTTPTrace」
PHPでスクリプトを組むとき、何度も何度も繰り返すことになる作業が、print_r()やvar_dump()による変数の確認です。
例えばWebサイトなどを構築する際などは、var_dump()に調べたい値を渡し、ブラウザをリロードし、表示された画面のソースを表示して正しい値が格納されているかどうかを確認することになります。
これを何度も繰り返すのは非常に面倒な作業なのですが、今回は、こういった変数値の確認を簡単に行えるGUIツール「HTTPTrace」を紹介したいと思います。
まずは公式ページからHTTPTrace本体をダウンロードします。
http://d.hatena.ne.jp/magiwo/20070821
2007年8月22日現在のバージョンは0.1.0のようです。
http://servlet.sakura.ne.jp/download/HTTPTrace-0.1.0.tar.gz
これを解凍すると以下の3つのファイルが現れます。
- htrace.php
- sample.php
- HTTPTraceServer.exe
- htrace.php はデータの送信元のスクリプトに仕込むライブラリファイル
- sample.php はHTTPTraceを実行するサンプルスクリプト
- HTTPTraceServer.exe はスクリプトから送られてくるデータを受信する実行ファイルです。
HTTPTraceは、最初にHTTPTraceServerを実行し、その後PHPスクリプト側から値を送信することになります。
HTTPTraceServer本体はexeファイルから実行するGUIツールなので、Windowsマシン上で実行させます。
私の環境では動作確認用のWindowsマシン(192.168.1.169)と開発用Linuxマシンを使用しているため、HTTPTraceServer.exeをWindowsマシン上に置き、他の二つのファイルをLinuxマシンの適切な場所に置いておきます。
次に、Windowsマシン上においたHTTPTraceServer.exeを実行します。
すると、下の画像のようなGUIツールが立ち上がるので、データを受け取るポート番号を設定し、「Start」ボタンを押します。これでデータ受信の準備完了です。
次にデータ送信側の準備をしましょう。
ここではあらかじめ用意されているsample.phpを使うことにします。 このスクリプトの中を見てみると分かりますが、使い方は非常に簡単です。 事前準備は htrace.php をincludeしておき、htrace_set()でHTTPTraceServerの場所を指定するだけです。
あとは var_dump() の代わりに htrace() 関数を使えばよいのです。
それでは、以下のように自分の環境用にsample.phpを書き換えてください。 このスクリプトでは$_SERVER変数をHTTPTraceServerに送ることになります。
sample.php
<?php
require_once "htrace.php";
htrace_set('192.168.1.169', 6007);
htrace($_SERVER);
?>
これで送信側の準備も完了です。それでは早速実行してみましょう。
php sample.php
成功すると、Windowsマシン上で実行していたHTTPTraceServerに$_SERVERの値が表示されます。
各変数名をクリックすると格納されている値が表示され、配列の場合は中身が展開されます。 各変数の値はテキストエリアに表示されるため、値のコピー&ペーストも楽々です。
また、htrace()関数に二つ目の引数として true を渡すと、htrace()が実行された時点でスクリプトの処理を一時中断させることも出来ます。
処理の中断中はHTTPTraceServer上にalertボックスが表示され、「OK」ボタンを押すとスクリプトの処理が再開されます。
<?php
require_once "htrace.php";
htrace_set('192.168.1.169', 6007);
htrace($_SERVER, true);
allow_call_time_pass_reference が Off に設定されている環境だと警告が表示されるようですが、実行には問題ありません。
PHP開発者には非常に頼もしいツールですので、ぜひ一度使ってみましょう。
バックナンバーについて
TIPS-MLは、毎週金曜日に更新され、新しい記事が掲載されます。







