Eclipseで PHPWebアプリケーションのデバッグをする
Eclipse PHPWebアプリケーションのデバッグではデバッグのための設定を掲載してましたが、では実際のデバッグをしてみます。
Eclipse PHPWebアプリケーションのデバッグでサーバーの設定はできたら、あとはデバッグを実行するのみです。
デモPHPファイルとして、次の2つを用意しました。
ファイルをアップロードするフォームをデバッグする、というサンプルです。
ファイル1:サーバにファイルをアップロードするフォームを表示させるプログラム file_upload_form.php <?php print<<<_HTML_ <html> <head> </head> <body> <form enctype="multipart/form-data" method="POST"action="file_uploader.php"> ファイル送信:<input name="my_file" type="file"/> <input type="hidden" name="MAX_FILE_SIZE" value=131072 /> <input type="submit" value="Upload"> </form> </body> </html> _HTML_; ?>
ファイル2:ファイルをアップロードするプログラム file_uploader.php <?php $file_name=$_FILES['my_file']['name']; print "$file_name<br>"; $destination_file='img/'.$file_name; if(move_uploaded_file($_FILES['my_file']['tmp_name'],$destination_file)){
print “Success”;
}else{
print “error”;
} ?>
デモ用なので、超簡素に書いてますから、プログラムの中身はつっこまないように(^_^;
2つのプログラムを同じディレクトリにおき、imgというディレクトリを下に作っておきます。
準備ができたら、楽しいデバッグの始まりです。
- 検証したいのはfile_uploader.phpなので、その最初の行番号の左にある個所をクリックし、ブレークポイントを設定します。
- 左上にある、虫のアイコンの右横の小さな矢印をクリックします。
- “Debug configuration”をクリックし、出てくる画面で左ベインのPHP Web Pageを選択し、Newファイルアイコンをクリックします。
- Nameにこのデバッグの名前をつけましょう。「test_file_upload」とここではつけておきます。右ベインのFileという項目で、file_upload_form.phpを選択します。
- Apply をクリックした後、Debugをクリックします。
- するとデバッグ画面(debug preference)になります。
- 中ほどにあるビューにfile_upload_form.phpのコードが表示されています。今止まっています。Debugコンソールビューにある緑の右向き三角をクリックしてデバッグを開始します。
- すると、中ほどのビューにブラウザで表示されるような画面が表示されます。この画面で、実際にファイルをアップロードしてみましょう。
- ※注意 デバッグのためには、Browser Output画面でファイルをアップロードしても意味ありません。
- 今度は、file_uploader.phpのブレークポイントで止まります。ここで1行ずつ実行していくために、Debugコンソールのオレンジの矢印(Step Into)をクリックします。
- Variablesというビューに、変数に値が入っていくのがわかると思います。
- ※注意 デバッグのコンフィグで行ったサーバー名と、Internal Web Browser中のサーバー名は同じである必要があります。たとえば、Internal Web Browser中がlocalhostでリンクされていて、コンフィグでは127.0.0.1などだと動作しません。
どうでしょうか?