3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(PHP)Eclipse(PDT)でcakePHPでも使えるデバッガ導入メモ

PDT環境でのデバッグ方法探してたところ、ねねとまつの小部屋さんのところで構築方法が紹介されていました。下記の2つの記事で構築方法が紹介されています。

CakePHPの試食前に、EclipseでPHPの開発環境を整える

【CakePHP】Eclipse+PDT+Xdebugを使ったデバッグ方法について、画面付でまとめみる

この記事を元に自身の開発環境にてデバッガをいれた手順を下記にメモしときます。PHPのデバッガにはZend DebuggerとXdebugがあるみたいですが、Zendのほうはmod_rewriteが有効だとうまくいかないということで、cakePHPデバッグには使えないの却下します。

 

Xdebugは下記サイトよりダウンロードできます。 http://www.xdebug.org/index.php

ここで、ダウンロードするのは「Windows modules:」から対応したPHPのバージョンのDLLです。

ダウンロードした php_xdebug-2.0.3-5.2.5.dll を php.ini で指定しているextensionディレクトリに配置します。(php.iniで extension_dir ="C:\Program Files\PHP\ext" と定義しているディレクトリです。)

 

次に、php.iniに下記のデバッグの設定を記述します。(もしZendDebuggerの設定が書いてる場合はそれをコメントアウトします)

 
[xdebug]
zend_extension_ts="C:\Program Files\PHP\ext\php_xdebug-2.0.3-5.2.5.dll"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_log="C:\Program Files\Apache Software Foundation\Apache2.2\logs\xdebug.log”
xdebug.manual_url = "http://jp2.php.net"
xdebug.collect_params = On
xdebug.dump.GET = *
xdebug.dump.POST = *

 

Eclipseの設定方法です。

メニューバーの「実行」→「デバッグ・ダイアログを開く」から「PHP Web Page」を選択します。初期状態だと「PHP Web Page」配下になにもないと思うので「PHP Web Page」をダブルクリックし、新規の構成を作ります。

ここで、下記の設定を行います。 「サーバ・デバッガ」を「Xdebug」に変更。 「ファイル」でデバッグしたいPHPファイルかパスを選択(webサーバから見たパスです。たとえばcakaPHPプロジェクトでhttp://xxx.com/postsデバッグしたいと思ったら /posts と入力します。)

ブレークポイント」で「最初の行でブレーク」が付いているとcakePHPのコアファイルから始まってしまうのでチェックを外します。

URLの「自動生成」のチェック外し、WebサーバからみたURLを指定します。

これで適用ボタンを押します。(実行ボタンは押せませんが構いません)

パースペクティブPHPデバッグにし、ソースにブレークポイントを張り、デバッグボタン(虫ボタン)を押してDebugができます。

 

こんな感じです。

 

その他の参考:

eclipse + Zend PDT + XDebugでソースレベルデバッグ