menu
書いてる野郎
orebike@gmail.com
のように動作する。
まずダウンロードから。Xdebug: Downloads←ここからダウンロード。
今回はWindowsでApacheなのでWindows binaryの
Xdebug 2.1.2 PHP 5.3 VC6 TS (32 bit)
を選んだ。スレッドセーフを選んだのは雰囲気w ファイル名的にもスレッドセーフ版が普通みたいで通常版はntsとついている。
生のdllファイルがダウンロードできるので
D:\xampp\php\ext
ここらへんにぶっこんでおいて。あとは設定を書く。
xampp付属のphp.iniにはもうすでにいろいろかいてあるんでこれを有効にするだけでいいっぽい。とりあえずこんだけかいておいた。
zend_extension = "D:\xampp\php\ext\php_xdebug-2.1.2-5.3-vc6.dll" xdebug.remote_enable=1 xdebug.remote_handler="dbgp" xdebug.remote_mode=req xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_log="D:\php\logs\xdebug.log" xdebug.manual_url = http://jp2.php.net xdebug.collect_params = On xdebug.dump.GET = * xdebug.dump.POST = *
「zend_extension」を「zend_extension_ts」と指定するドキュメントもあったけどそれでやったら動かなかった。
保存して、Apache再起動。phpinfoからXdebugが有効になってることを確認。
Pleiadesからall in oneのEclipseを落とす。今回は奮発して3.7を使用。日本語化 Eclipse 3.7 Indigo インディゴのPHP版を使う。
解凍して適当なディレクトリに配置。とりあえず一発起動してみる。起動したOK。ワークスペースを聞かれるが今回はデフォルトにしておく。
今回は既存のデバッグしたいソース群がもうすでにあって、それを取り込むという方法をやる。
新規PHPプロジェクト で既存のファイル群を指定 プロジェクトを作成できた
PleiadesのEclipseはPDTとかデバッガーとかが一式もう組み込まれている。
Eclipseの設定からPHP→デバッグと辿って、Xdebugの待受の設定とかがphp.iniでやったものと同じか確かめる。普通ならばいじらなくてOK
通常はデバッグ中はEclipse内蔵のブラウザが使われるが、好みじゃないので、これまたEclipseの設定から一般→Webブラウザと辿って外部ブラウザの好みのものに変えておく。
実行からデバッグ構成を選ぶ。サーバーのタブでサーバデバッガーをXdebugに
PHPサーバーを新規に設定する。ベースのURLを指定する。PHPの開発だとhostsを書き換えて名前ベースのvirtualhostにしてる場合があるからそれならそれに合わせて書き換える。
ファイルとURLを書く部分があるが、デバッグしたい位置とURLが対応することなんてまずない。 ファイルは適当にどれでもいいの選んでおいて、URLは自動生成を外してデバッグを開始したときに起動したいURLを選んでおく
「最初の行でブレーク」にチェック デバッグボタンをクリック。
そうすると先ほど指定したブラウザでURLが開いてアクセスしにいく、そしてPHPが動く前になってEclipseが最初の行に達したということでデバッグのパースペクティブに切り替わる。
これでステップ実行しながら処理が追えるようになったわけだ