そんな訳でいまさらながらデバッグ環境を整えてみた・・・(・_・;)
Eclipse Ver3.4.1+PDT+Zend Debbugerの組合せをチャレンジしたのですが、いやぁ〜これがなかなか古い情報が多くて大変でしたわ・・・。
■環境
・Eclipse Ver3.4.1
・PDT Ver2.0.0
・PHP Version 5.2.9
・Zend Debugger v5.2.15
■前提
・XAMPPインストール済み
・Eclipse+PDTインストール・日本語化済み
■手順
1)Zend Debugger v5.2.15のダウンロード
・以下のページからZend Debugger v5.2.15をダウンロードしてきます。
ダウンロードするファイルはZendDebugger-5.2.15RC1-cygwin_nt-i386.zipですね。
Index of /pdt/server-debugger

2)Zipの解凍
・ZendDebugger-5.2.15RC1-cygwin_nt-i386.zipを解凍し、5_2_x_compフォルダコピーします。
3)ZendDebugger.dllを配置するフォルダーの作成と配置
・C:\xampp\php\zendOptimizer\libにDebuggerフォルダーを作成し、2)でコピーしたファイルを貼り付けphp-5.2.xにリネームする。

4)php.iniの修正
・C:\xampp\php\php.iniに下記の記述を追記します。xamppインストール時に設定してある項目はすべて";"でコメントアウトしなければデバッガーが認識されませんでした・・・正しいかどうかは微妙ですが。
[Zend]
;zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
zend_extension_ts="C:\xampp\php\zendOptimizer\lib\Debugger\php-5.2.x\ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.deny_hosts = all
zend_debugger.expose_remotely = always

5)apacheのC:\xampp\apache\conf\httpd.confの修正
・httpd.confにプロジェクトのパスを追加します。
Alias /debugtest "C:\project\php-example\debugtest"
<Location /debugtest>
Order deny,allow
Allow from all
</Location>
最新のPDTには「Publish Projects to this Server」って設定がないのですが変わりにhttop.confに上記の記述が必要ってことみたいです。いやぁーここは嵌りました(つ_・。)
※ひとり2ちゃん−Eclipse で PHP PDTを参考にしました。ありがとうございます^^
6)Apache再起動
・Apacheを再起動します。
7)phpinfo.phpでデバッガーが認識されたか確認します。
・http://localhost/xampp/にアクセスしXAMPPの画面からphpinfoをクリックします。
・Zend engineの項目に【with Zend Debugger v5.2.15, Copyright (c) 1999-2008, by Zend Technologies】が追加されていればOKです。

8)Eclipse PDTの設定−実行可能ファイルの設定
・Eclipseにおいてウィンドウ>設定で設定サブウィンドウを開き、PHP-PHP実行可能ファイルを選択します。
・追加ボタンをクリックし以下の内容を入力しOKボタンをクリックします。
名前:php(適当でOK)
実行可能ファイル・パス:C:\xampp\php\php.exe
PHP iniファイ:
PHP デバッガー:Zendデバッガー

※最新のPDTには「Publish Projects to this Server」のチェックボックスがありません。古い手順を参考にしている人は注意です!
9)Eclipse PDTの設定−サーバー
・設定サブウィンドウを開き、PHPサーバーを選択します。
・新規もしくは編集ボタンで下記のように設定します。
名前:Default PHP Web Server
ドキュメントルート:http://localhost/

パスマッピングタブはデバッグ時に自動的に追加されているような気が・・・設定しなくていい気もしますが一応載せておきますね。

10)Eclipse PDTの設定−デバッグ
・設定サブウィンドウで、PHPデバッグの情報を入力します。
PHPデバッガー:Zendデバッガー
サーバー:Default PHP Web Server
PHP実行可能ファイル:php
デバッグ転送エンコード:UTF-8
デバッグ出力エンコード:UTF-8

・インストール済みデバッガー、ステップ・フィルター、ワークベンチ・オプションの設定はとくに修正していない気もするけど念のためキャプチャを載せておきますね。



11)Eclipseでデバッグ実行
・デバッグで止めたいソースの行にダブルクリックでブレークポイントを設定します。、
・対象のソースを右クリックし、デバッグ>PHP Webページで対象のブレークポイントで処理がストップします。Zendの場合は対象ソースの最初の行で必ず止まるみたいですねぇ・・・F8で設定したブレークポイントに移動できます。

・デバッグの画面。変数の内容も見れて便利やのぅ。デバッグ出力画面では、出力される内容が見れまして、ブラウザー出力ではブラウザでみたときの内容が確認できます^^

・ブレークポイントの設定とかは下記のサイトが親切に解説してくれていますので参考までに。
・たぬきと一緒にお勉強 第13回目 PHPIDEによるデバック
■感想
うむ・・・やはりブレークポイント使えるのと使えないのとじゃぁ効率がちがうよなぁー^^;
しかし、この設定も色々嵌りどころがあって疲れましたわ(つ_・。)
■参考ページ
・たぬきと一緒にお勉強 第13回目 PHPIDEによるデバック
デバッグの使い方が詳しく説明してあります。
・ひとり2ちゃん−Eclipse で PHP PDT
最新のPDTではこちらの手順じゃないと動かせないッぽい。感謝です^^
・文系大学的IT系の悲哀
デバッグするための一通りの手順が書いてあるのですが、最新のPDTだとhttpd.confの設定が必要なので注意が必要ですね。

