bz0のにっき

quick and dirty prototype

Vagrant+PHP+NetBeans XDebugの設定

PHPデバッグの効率化・ソースコードリーディング促進の為に
XDebugを入れてみました。

環境

CentOS6.5
PHP5.6
Vagrant1.8.4
xdebug 2.5.0
netbeans8.0

Vagrant

IP:192.168.33.10
SSH:127.0.0.1:2222

サーバ側の設定

xdebugのインストール

yum -y install php-devel php-pear
pecl install xdebug

php.ini設定

/etc/php.ini

zend_extension=/usr/lib64/php/modules/xdebug.so

[XDebug]
xdebug.remote_autostart=On
xdebug.remote_enable=On
xdebug.remote_host=192.168.33.1
xdebug.remote_port=9000
xdebug.remote_log=/var/log/xdebug.log
xdebug.remote_mode=req
xdebug.idekey=netbeans-xdebug
xdebug.remote_handler=dbgp

zend_extensionで指定するxdebug.soのパスは
xdebugインストール完了のログに書いてあるのでそれを指定します。

Build process completed successfully
Installing '/usr/lib64/php/modules/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.5.0

xdebug.remote_hostには、VagrantのホストのIPを設定しますが
「192.168.33.10」を「192.168.33.1」にして下さい。

apacheの再起動

service httpd restart

NetBeansの設定

ツール > オプション > PHP > デバッグ
f:id:bz0:20170201011159p:plain

プロジェクト > 実行構成
f:id:bz0:20170201011438p:plain

リモート接続
f:id:bz0:20170201011615p:plain

ファイアウォールの許可

xdebugで利用しているポートを許可します。

NetBeansデバッグ実行

デバッグ実行してみると、下記のように
設置したブレークポイントで止まってくれるようになります。

f:id:bz0:20170201012438p:plain