Xdebug によるデバッグ環境の構築
Xdebug とは?
xdebug は PHP のコア開発者である Derick Rethans 氏が開発している、PHP のデバッグ用エクステンションです。 典型的なデバッグ作業を補助する以外にも、様々な拡張機能が実装されています。
運用環境以外では必ずインストールしておくと良いです。
Xdebug の入手方法
Xdebug のダウンロードページ
http://www.xdebug.org/download.php
この資料では Windows 環境へのインストールを説明します。
Windows 用にはバイナリ (dll) がダウンロード可能ですが、Xdebug のバージョンは現在あなたがお使いの PHP のバージョンとプラットフォーム (32bit か 64bit) に合わせて、適切なものをダウンロードします。
PHP 5.2 を 32bit 環境で利用している場合は "5.2 VC6 (32 bit)" をダウンロードします。
私は php_xdebug-2.0.5-5.2.dll をダウンロードして C:\php\ext に保存しました。
尚、PHP は非デバッグ版を利用している必要があります。
非デバッグ版かどうかは phpinfo の以下のエントリ (Debug Build) で確認できます。
UNIX でのインストール (補足)
ちなみに私は試していません、 UNIX 環境では次のコマンドだそうです。
# pecl install xdebug
PECL が使えない場合はソースから Xdebug をコンパイルしなければなりません。
また phpize と php-config にも依存しているので、Developer Package も必要です。 Ubuntu 等では apt-get install php5-dev です。
Xdebug の有効化
php.ini に次のエントリを追加します。
zend_extension_ts = "C:\php\ext\php_xdebug-2.0.5-5.2.dll" ; Windows の場合
zend_extension = "/usr/lib/apache2/modules/xdebug.so" ; UNIX/Linux の場合
尚、エクステンションのパスや DLL、ライブラリの名前はあなたの環境に合わせて書き換えてください。
Web サーバをリスタートすると、php.ini への変更が有効になります。 phpinfo の結果で以下のように Xdebug のエントリが追加されれば OK です。
Xdebug 有効時の動作
Xdebug を有効にしている場合、以下の点でデバッグ機能を強化します。
- var_dump の機能拡張
- デバッグ機能拡張 (リモートデバッグ含む)
- スタックトレース表示の拡張
- トレースログの出力
- プロファイリング
- コードカバレッジ統計情報の生成