PHPUnit インストール(さくらVPS、CentOS編)

環境

さくらVPSCentOS、PHP5.3、Xdebugsvnから落として手動でコンパイル、インストール済み。
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

公式ページはココだったのか。。。PEAR公式ページからしかたどれないような。わかりにくい。

http://pear.phpunit.de/

[以下、しばらく余談:つまずきその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

これにしたら警告の嵐は出なくなる、ハズなのだけれど、変えてからもしばらく出ていて困った。で、ふと気づいたら直っていた。。。いろいろ作業していたから、どのタイミングで直ったのかワカラナイ。