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

Xdebug+PHPUnit/test_helperをインストールする【PHP5.3.6+Ubuntu 11.04】

Xdebugの概要

【公式】 Xdebug - Debugger and Profiler Tool for PHP

  • error出力やvar_dumpの拡張
  • メモリ使用量の調査
  • プロファイリング
  • コードカバレッジの調査
  • リモートデバッグ

PHPUnit/test_helpersの概要

【公式】 sebastianbergmann/php-test-helpers - GitHub

  • レガシーなコードをUnitテストするときに便利な関数群。
    • 関数を書き換え(rename_function)
    • クラスの上書き(set_new_overload)
    • exit/dieの上書き(set_exit_overload)

インストール

PHP5.3.6を、Ubuntu 11.04の環境でインストールした場合です。
パスなどは適当に読みかえてください。

Xdebugpeclをつかう場合

$ sudo pecl install xdebug

ダウンロード、コンパイルまで行ってくれます。

Xdebug】ソースをダウンロードして自分でコンパイルする場合

$ cd /usr/include/php5/ext/
$ sudo wget http://www.xdebug.org/files/xdebug-2.1.2.tgz
$ sudo tar xvzf xdebug-2.1.2.tgz
$ cd ./xdebug-2.1.2
$ sudo phpize
$ sudo ./configure --enable-xdebug
$ sudo make
$ sudo cp -i modules/xdebug.so /usr/lib/php5/20090626+lfs/

PHPUnit/test_helper】

普通にpearでインストールします。

$ sudo apt-get install php-pear
$ sudo pear upgrade
$ sudo pear config-set auto_discover 1
$ sudo pear channel-discover pear.phpunit.de
$ sudo pear install phpunit/test_helpers

pearpecl両方使ってるみたいで、ソースからのインストールは、後々考えて不便じゃないかなぁと。
ソースからインストールはためしてないけど、たぶん、めんどくさくて投げ出しそう。

設定ファイルの作成

とりあえず読み込むための設定は以下の通り。

$ sudo vi /etc/php5/conf.d/xdebug.ini

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
zend_extension=/usr/lib/php5/20090626+lfs/test_helpers.so

捕捉

Xdebugについてはオプションがたくさんあります。詳しい設定は、
Xdebug: Documentation

test_helper.iniとか別ファイルから読み込むようにして、ver_dumpすると、
「衝突するからxdebugなど他のZend_Extensionのあとに読み込んでね」
と教えてくれるので、test_helpersの読み込みは、xdebug.iniに追記する形で順序性を確保してかく。