スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

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の項目が表示されれば成功です。
xDebug

eclipseでリモートデバッグの設定をする

eclipseのメニューから「実行」⇒「デバッグの構成」を開き「PHP Webアプリケーション」を新規追加します。
xDebug
ファイルについてはリモートデバッグの対象となるプロジェクトのルートとなるファイルを選択します。

PHPサーバー、URLについては開発環境がlocalhostのみであればデフォルトで問題ないですが、私の場合virtual hostで複数環境を用意しているので、以下の設定を追加します。

PHPサーバーについて、サーバーを「新規」で追加します。
サーバ・プロパティーのベースURLにvirtul hostで設定したドメインを設定します。Local Web Rootは空のままでかまいません。
xDebug

URLについては、先ほど選択したルートとなるファイルに対応するパスを指定します。

次に、デバッガーのタブを選択して、サーバ・デバッガーに「XDebug」を選択します。
xDebug

設定は以上です。

実際にデバッグしてみる

eclipseでプロジェクトのソースを開き、ブレークポイントを設定します。
メニューより先ほどのデバッグ構成を選択して実行すると、ブラウザが開いてデバッグが実行されます。

デフォルトのeclipseでは内部Webブラウザが開きますが、メニューの「ウィンドウ」⇒「設定」に「一般」⇒「Webブラウザー」からInternet ExplorerやFirefoxなど外部ブラウザを選択することもできます。

リモートデバッグ環境の構築は実際はそこまで難しくありませんが、PHPやeclipseなどのバージョンによって設定項目が微妙に異なったりするので、毎回ハマりがちですよね。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search