■Zend Debuggerの設定

リモート(LAN内)にあるWebサーバのZend Debugger でWindowsのPDTからリモートデバッグする時の設定方法。

                                                                                                            • -

| |
Windows PC CentOS5 (Linux) Server
PDT Apache + Zend_Debugger

検索すると、XamppなどWindowsのPDTから、Windowsのローカルのサーバにつないでデバッグする方法ばっかりですね。英語で検索してもなかなか出てこず、できないのかと思っていたらできたので、設定メモを公開。
#わかりづらく、かなりはまりやすいですね、この辺。

ダウンロード

以下より、自分にあったファイルをダウンロードする
http://downloads.zend.com/pdt/server-debugger/

自分の場合は、以下のものをダウンロードした
ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz

リモートのサーバ

CentOS5.3, PHP 5.2.11

以下のように展開
# cd /tmp
# wget http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz
# tar zxvf ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz
# cp /tmp/ZendDebugger-5.2.15RC1-linux-glibc23-i386/5_2_x_comp/ZendDebugger.so /usr/lib/php/modules/

php.ini

  • -

;; Zend_debugger

implicit_flush = On
output_buffering = 0

zend_extension="/usr/lib/php/modules/ZendDebugger.so"
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.0/24
zend_debugger.expose_remotely=always
zend_debugger.deny_hosts=all

  • -

Webサーバの再起動
# /etc/init.d/httpd reload

Xdebugは、コメントアウトしなくても動く様子。

10000番ポートで通信しているかチェック
# tcpdump -i eth0 port 10000

dummy.php をWebサーバのドキュメントルートに置く。

僕の場合、WindowsのフォルダーをCentOS5からマウントしているので
Windowsのフォルダに置いた。

# /sbin/mount.cifs //192.168.0.1/test.example.jp /www/test.example.jp -o user=root,uid=apache,gid=apache,file_mode=0777,dir_mode=0777,iocharset=utf8,rw

クライアント

Windows Vista
PDT 2.0

設定

- 名前: index.php
- サーバー・デバッガー: Zend デバッガー
- PHPサーバ: test.example.jp
- 構成: サーバ: test.example.jp ,
このサーバのドキュメント・ルートを示す: http://test.example.jp
- パスマッピング:
- サーバ上のパス: /www/test.example.jp/www
- ローカル・パス: C:\www\workspace\test.example.jp


  • ウィンドウ -> 設定 -> PHP -> デバッグ -> インストール済みのデバッガー

- Zendデバッガー 10000 の「構成」ボタンを押す
デバッグポート: 10000
クライアント Host/IP: 192.168.0.1 (Windows VistaIPアドレス)

大体こんな感じで動きました。

#Xdebugのリモートデバッグがうまくいかないんだよなぁ。