Windows上のXAMPPのローカル開発環境で、eclipseを使ったPHPプロジェクトのリモートデバッグ環境を構築します。
前提条件として、各々のバージョンは以下の通りで、既にインストール済みとします。
- Windows 7 Professional 64bit
- PHP 5.5.11
- XAMPP 1.8.3
- xDebug 2.2.3
- eclipse 4.3
PHPとxDebugはXAMPPに含まれているものをそのまま活用するので、個別に用意する必要はありません。
xDebugを有効にする
xDebugを有効にするためにXAMPP内のphp.iniを開き、以下のコメントアウト部分を編集します。
;zend_extension = "xamppphpextphp_xdebug.dll" ;xdebug.remote_enable = 1 ;xdebug.remote_host = "127.0.0.1"
コメントを外す際、dllのパスに「C:」を追加します。
デフォルトで抜けていたのですが、どうしてでしょうか。これが原因でエラーになりハマりました。
zend_extension = "C:xamppphpextphp_xdebug.dll" xdebug.remote_enable = 1 xdebug.remote_host = "127.0.0.1"
編集後にXAMPPのApacheを再起動し、phpinfo()を表示してみます。以下のようにxDebugの項目が表示されれば成功です。
eclipseでリモートデバッグの設定をする
eclipseのメニューから「実行」⇒「デバッグの構成」を開き「PHP Webアプリケーション」を新規追加します。
ファイルについてはリモートデバッグの対象となるプロジェクトのルートとなるファイルを選択します。
PHPサーバー、URLについては開発環境がlocalhostのみであればデフォルトで問題ないですが、私の場合virtual hostで複数環境を用意しているので、以下の設定を追加します。
PHPサーバーについて、サーバーを「新規」で追加します。
サーバ・プロパティーのベースURLにvirtul hostで設定したドメインを設定します。Local Web Rootは空のままでかまいません。
URLについては、先ほど選択したルートとなるファイルに対応するパスを指定します。
次に、デバッガーのタブを選択して、サーバ・デバッガーに「XDebug」を選択します。
設定は以上です。
実際にデバッグしてみる
eclipseでプロジェクトのソースを開き、ブレークポイントを設定します。
メニューより先ほどのデバッグ構成を選択して実行すると、ブラウザが開いてデバッグが実行されます。
デフォルトのeclipseでは内部Webブラウザが開きますが、メニューの「ウィンドウ」⇒「設定」に「一般」⇒「Webブラウザー」からInternet ExplorerやFirefoxなど外部ブラウザを選択することもできます。
リモートデバッグ環境の構築は実際はそこまで難しくありませんが、PHPやeclipseなどのバージョンによって設定項目が微妙に異なったりするので、毎回ハマりがちですよね。
コメントする