Eclipse+xdebugでcakephpをリモートデバッグする

Eclipse

Windows7+EclipseからLinuxサーバー上のCakePHPアプリをリモートデバッグする方法です。

以下の環境で動作確認しています。

  • 開発クライアントPC

Windows7
Eclipse for PHP Developers Version:3.0.2(Indigo)

  • 開発サーバー

CentOS 6.2
PHP 5.3
xdebug 2.1.4

開発Webサーバー(CentOS)

 # yum install php-pecl-xdebug

/etc/php.d/xdebug.ini

 ; Enable xdebug extension module
 zend_extension=/usr/lib64/php/modules/xdebug.so
 xdebug.remote_enable=1
 xdebug.remote_connect_back=1
 ;xdebug.remote_log="/tmp/xdebug_log"

xdebug.remote_connect_back=1とすると、任意のPCからリモートデバッグできるようになります。
xdebug.remote_logでログファイルのパスを指定するとxdebugのログが出力されます。リモートデバッグがうまく動作しないときに参考になります。
なお、上記のxdebug.iniはリモートデバッグするのに必要最低限の設定です。
必要に応じて他の項目を指定してください。

Eclipse

Window -> Preferences

Eclipse全体の設定です。

PHP -> Executables

Windows7側にインストールしたphp.exeのパスを指定します。
xampp等を使うのがお手軽です。

PHP -> PHP Servers

  • Server

Base URL: 開発Webサーバー側のベースURL
Local Web Root: 開発WebサーバーのBase URLに対応するクライアントPC側の物理パス

  • Path Mapping

Path on Server: 開発Webサーバー上の物理パス
Path in Workspace: クライアントPC上の物理パス
(WorkspaceまたはFileSystemのいずれかで指定します)

デバッグ設定

Debug Configurationsから設定します。

  • Server

Server Debugger: “XDebug”
PHP Server: PHP Serversで設定済みのものから選択します
File: クライアントPC側のapp/webroot/index.phpを指定します。
※cakephpルート直下のindex.phpを指定するとrequireが正しく処理されません。
URL: Auto Generateで問題がある場合は、上のFile項目で指定したパスに相当する開発Webサーバー側のURLを指定します。

コメントを残す

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