Keyword: Mac, MacPorts, PHP, xDebug
MacPorts を使ってインストールした PHP5 に xDebug をインストール、設定する方法。
前提として、PEAR はインストール済みであるとします。
$ port installed | grep php
php5 @5.3.6_0+apache2+pear (active) php5-mbstring @5.3.6_0 (active) php5-mysql @5.3.6_0+mysqlnd (active) php5-postgresql @5.3.6_0+postgresql90 (active)
また、すでに環境に xDebug が入っていないかを確認しておきます。
phpinfo() の出力や、コマンドから「php -i」を実行して、xdebug の情報が出力される場合はすでに xDebug が入っていますので、改めて xDebug をインストールする必要はありません。
その場合は、xDebug の設定だけ見直してみてください。
$ php -i | grep xdebug
xdebug xdebug support => enabled xdebug.auto_trace => Off => Off …
PECL を使って xDebug をインストール
インストールには PECL のコマンドを使用します。
$ pecl install xdebug
成功すると、最後に以下の内容が出力されます。
… Build process completed successfully Installing '/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so' install ok: channell://pecl.php.net/xdebug-2.1.1 configuration option "php_ini" is not set to php.ini location You should add "extension=xdebug.so" to php.ini
php.ini に xDebug の設定を追加
php.ini に xDebug の設定を追記します。
$ sudo vi /opt/local/etc/php5/php.ini
設定内容は以下のとおりです。zend_extension に指定するパスは、さきほどインストールの最後で出力された xdebug.so へのフルパスを記述します。
記述する場所はどこでもいいらしいですが、私は php.ini の一番最後(コメント ;end より前)に追記しました。
[xDebug] zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" xdebug.remote_enable = On xdebug.remote_handler = dbgp xdebug.remote_host = localhost
設定を保存したら、Web サーバを再起動してください。
成功すると、phpinfo() に xDebug についての情報が表示されるようになります。
https://img.skitch.com/20110528-pfjems2f4tp8junqyw3ds7aw9s.png:image:w700
細かい設定についても出力されます。
https://img.skitch.com/20110528-bmj91yd9kfqyxc3n3df96r4nwg.png:image:w700