CentOSでXdebugの設定


PHPの開発にてデバッグしたいときに、EclipseとXdebugを使うと便利。

必要なもの
xDebug 2.0.x
http://www.xdebug.org/ の右にあるSource

あと、サーバーに下記のパッケージが必要。
php-config
phpize

この二つは、which php-config なのでパスが通っているか確認。通っていなければ、php-develをインストール。

xdebug-2.0.x.tgzを解凍して、/usr/local/srcに移動。

/usr/local/src/xdebug-2.0.x/に移動。

phpizeとコマンドを打つとビルドされる。

特に問題がなければ

./configure –enable-xdebug

そして
make

modules/xdebug.soができるので、それを/usr/lib/httpd/module/などにコピー。

php.iniで、
[xDebug]
zend_extension=”/usr/lib/httpd/modules/xdebug.so”
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host = 192.168.xxx.xxx

を追加。
xdebug.remote_hostは自分のPCのIP。設定しないと動かないし、192.168.*.*や、サブネットマスクでの指定などもダメみたいなので、IPを設定。

infophpにて確認
Zend Engine v2.2.0, Copyright(c) の下の行に
with Xdebug v2.0.x, Copyrithg(c)と表示されていればOK

=======================================================

【補足】php.iniに記述するとき、zend_extension=か zend_extension_ts=なのか

ネットで情報を調べると、それぞれの記述で動くとき、動かないときがあった。

まず、phpinfo()などで、以下の2行を確認。

Debug Build => no
Thread Safety => enabled
上記の場合
zend_extension_ts

Debug Build => no
Thread Safety => disabled
上記の場合
zend_extension

Debug Build => Yes
Thread Safety => disabled
上記の場合
zend_extension_debug

Debug Build => Yes
Thread Safety => enabled
上記の場合
zend_extension_debug_ts

The following two tabs change content below.

いしかわ

まだまだ広く浅く勉強中のエンジニア。得意分野はラーメン。

Comments are closed.