Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed

debugging with XDebug

XDebugはWebサーバのphpページをデバッグができるモジュールである。
ここではeclipse上でXDebugを設定する手順を紹介する。
前提として、Eclipse+PDT(All in one)がインストールされているとする。
執筆中の最新版はEclipse3.5である。  次は順番にXDebugの設定手順を見てみよう。

Installation of XDebug

XDebug downloadページからダウンロードできる。
ソース版とWindows binary版があるが、それぞれ環境に応じてダウンロードする。
ここでは、Windows環境を基準に説明する。 執筆中の最新の安定版が2.0.5だったので、2.0.5のWindows binary版を ダウンロードする。
ダウンロードしたZipファイルを適当なローカルフォルダに解凍する。

C:\phpdebugger\Xdebug2.0.5\php_xdebug-2.0.5-5.2.dll

次はInstallしたXDebugモジュールの場所をphpエンジンに知らせる必要がある。 その設定はphp.iniで行う。 設定部分を次に示す。

[Zend]
; Zend debugger Configuration
; the windows non-thread safe is used only with Zend Core 2.0
;
; zend_extension_ts=C:/phpdebugger/ZendDebugger5.2.14/5_2_x_comp/ZendDebugger.dll
; zend_debugger.allow_hosts=127.0.0.1
; zend_debugger.expose_remotely=always

[XDebug]
zend_extension_ts=C:/phpdebugger/Xdebug2.0.5/php_xdebug-2.0.5-5.2.dll
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1  ; if debugging on remote server,
                              ; put client IP here
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="D:/temp"

ここで、Xdebugモジュールの位置を指定する際、zend_extension_tsを使用するか、zend_extensionを使用するかを注意して欲しい。
どれを使うべきなのかは、phpinfo()で確認すればよい。 私の環境でのphpinfo()の結果を次に示す。

phpinfo

ここで、Debug Build部分とThread Safety部分を見ると、Debug BuildNoThread Safetyenable である。
もし、Debug BuildYesThread Safetydisableだったら、zend_extensionではなく zend_extension_debugで指定することになる。

setup of PHP Executables

次はeclipseの設定を見てみよう。 まずは、Window>Preferences>PHP>PHP Executablesの設定だ。

PHP Executables

Nameは適当な名前でも構わないので適当に入力する。 最後の項目でdebuggerの選択が出来る。
PDTはZend DebuggerXDebugをsupportしている。
今回はXDebugを使うので、XDebugを指定しよう。

setup of PHP Servers

次はPHPサーバの設定である。 Window>Preferences>PHP>PHP Serversで設定画面を開いてみる。

PHP Servers

ここでは、特に説明する部分はない。
この段階まできたら、一応PHPサーバ上でphpファイルのデバッグが出来るようになる。
後はEclipse上でDebugセッションを実行すれば、ディフォルトで1行からbreak pointが掛かるはずだ。

XDebug install for php4.4.x

因みに、php4.4.x下の環境でXDebugをinstallする際は、php.iniで次のように設定すればよい。
ただし、この場合はXDebug downloadページから4.4バージョンのバイナリファイルをダウンロードする必要がある。
ダウンロードしたdllファイルをphpのextensionディレクトリにコピーする。

extension=php_xdebug-2.0.2-4.4.6.dll

reference

コメント

コメントを入力. Wiki文法が有効です:
W I W P P
 

QR Code
QR Code study:php5:debug (generated for current page)