PHPUnit インストール(さくらVPS、CentOS編)
環境
さくらVPSのCentOS、PHP5.3、Xdebugをsvnから落として手動でコンパイル、インストール済み。
php.ini
zend_extension=/usr/lib64/php/modules/xdebug.so xdebug.remote_enable=On xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp
[以下、しばらく余談:つまずきその1]PearでNGになった
http://www.phpunit.de/manual/current/en/installation.html
公式ページどおりにやるとうまくいかなかった。私だけなのかな。<さくらのデフォの古いPEARを使っていたせいでした。
sudo pear install -a phpunit/PHPUnit
すると、
package.xml version "2.1" is not supported, only 1.0 and 2.0 are supported. Download of "symfony/YAML" succeeded, but it is not a valid package archive Error: cannot download "symfony/YAML"
[つまずきその2]そこで、pearのアップグレードをしようとすると、素ではアップグレードができない。
たしかに pear list すると
PEAR 1.4.9 stable
古い。でもアップグレードしようとすると、
pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed v ersion is 1.4.9
でできない。ぐぐって、
http://voicetwo.selfip.com/yashikiba/blog/category_3/item_280.html
http://blog.goo.ne.jp/freebox_tk/e/9bda2342ed3975072c41c585a63379d4
を参考にした。そういえば、1個ずつ上げるものだった。
sudo pear upgrade PEAR-1.5.0
pear list すると
PEAR 1.5.0 stable
になった。
http://pear.php.net/package/PEAR/download
を見て、ジリジリと上げて1.8.0まできたところで、あらためて
sudo pear upgrade pear
したら、現時点の最新(1.9.2)になりました。
まだエラー
$ sudo pear install phpunit/PHPUnit Unknown remote channel: components.ez.no Did not download optional dependencies: channel://components.ez.no/ConsoleT ools, use --alldeps to download automatically Unknown remote channel: components.ez.no phpunit/PHPUnit can optionally use PHP extension "dbus" phpunit/PHP_CodeCoverage can optionally use package "channel://components.e z.no/ConsoleTools" (version >= 1.6) phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) ・・・ install failed
エラーメッセージでまたぐぐると、
http://dtx.co.jp/archives/183
http://stackoverflow.com/questions/2006626/installing-phpunit-via-pear
を参考にすることができた。感謝。
sudo pear channel-discover components.ez.no sudo pear update-channels sudo pear install phpunit/PHPUnit
インストール成功した。
pear list
しても出てこないので、まだダメなの?と思ったのですが、
phpunit
コマンドをたたいたらちゃんと動きました。
今日の一番のポイントは「pear update-channels【見落としていたけれど重要】」だったな。。。
ファイルを確認する。CentOSってどこに入るか。
pear config-get php_dir
ちゃんと
/usr/share/pear/PHPUnit
にありました。おしまい。
error_reporting = E_ALL & ~E_DEPRECATED
これにしたら警告の嵐は出なくなる、ハズなのだけれど、変えてからもしばらく出ていて困った。で、ふと気づいたら直っていた。。。いろいろ作業していたから、どのタイミングで直ったのかワカラナイ。