読者です 読者をやめる 読者になる 読者になる

TMD45'β'LOG!!!

Life is Beta-ful.

MacPorts でインストールした PHP5 に xDebug を導入する

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

 

以上で

MacPorts でインストールした PHP 環境に xDebug が導入できました。

 

▲ ページトップへ移動