Eclipse(Pleiades)のPHPデバッグでブレイクポイントが効かない

Windows7のPleiades3.7(all in one)でPHPをステップ実行しようした所

ブレイクポイントでも止まらない状態になったので解決までの道のりをメモ。



xampp内にもApacheとPHP(verは5.3.8)が入っているので、

PHPとApacheを別にインストールしている場合は消さないとダメげ。


その後、Pleiadesも念のため再インスト。

( プロジェクトのバックアップを忘れずに )



次に、http.confで設定してあるドキュメントルートを

xampp内のhtdocから別の所にしたかったので別パスに変更(この設定は任意)



xamppフォルダ下にある「setup_xampp.bat」を一回実行する。

これでxamppサーバセットが使えるようになる。


同フォルダにある「xampp-control.exe」を実行しApacheをStartする。


続いて、Eclipseを開いて

PHPプロジェクトを作成する。

プロジェクトの場所は、「既存のディレクトリ」からApacheのドキュメントルートにした。


これでデバッグの構成からPHP Webサーバを設定し実行してみる。

…まだダメ。


なお、デバッグの構成は、虫のアイコンの▼アイコンを押して「デバッグの構成」をクリック。

PHP Web アプリケーションをダブクリして新規作成。

名前:適当

[サーバータブ]
サーバー・デバッガー:「XDebug」

PHPサーバー:「Default PHP Web Server」

ブレークポイント:最初の行でブレーク(ブレイクが効くようになったら任意でオフ)

ファイル:参照を押してプロジェクト内の任意php

URL: 自動設定を切る

ドキュメントルートの位置に合わせる。


例えば、作ったプロジェクト名がaaaでindex.phpをデバッグしたい場合、

上記「ファイル」は「aaa/index.php」だが、

「URL」は右欄を「/index.php」のように直す

(これはindex.phpがドキュメントルート直下の場合。

ドキュメントルート/test/index.phpみたいに

直下から更にフォルダ掘ってその中に入れていたら、/test/index.php)

[拡張タブ]
そのまま何もしないでスルー

[共通タブ]
「お気に入りのメニューに表示」の

デバッグにチェックを入れておくと後々すぐ選べて楽かも。


これで下の「適用」ボタンを押す。

これでもまだ動かないので「デバッグ」は押さない。

( もしこの時点でデバッグボタンを押してしまったら、

次にデバッグボタンを押した時に既にサーバが立ってる的な事が出て

起動しなくなるので、画面右上の「PHP」の左にある

「パースペクティブを開く」アイコンをクリック or ウィンドウメニューからそれを選ぶ。

「デバッグ」を選択。開いた画面で赤い四角の停止ボタンを押す。)

最後に、

xampp/php/php.iniを開き、2165行目の

「xdebug.remote_enable = 0」を

「xdebug.remote_enable = 1」にする

万が一「;xdebug.remote_enable = 0」と先頭に「;」がついていたら

それはコメントアウトになっているので、「;」を取る

保存してxamppコントローラからApacheを一旦「stop」し再度「start」

先程設定したデバッグの構成からデバッグボタンを押す。

パースペクティブをデバッグに設定しますか?的ダイアログが出れば成功。

これでブレイクポイントの効いたデバッグが出来るようになった。