僕が最初にプログラミングを始めたころ、最初に手にとった本の中でPEARが使われていました。
ただ、本当に学び始めたころってパスを通すってのもわけがわからないしPEARで何が便利になるのかわかりませんでした。
また、その影響もあってか、PEARは難しいもの、として今の今まで避けてきました。
しかし、さすがにそろそろPHPUnit使ってテストコード書いていかないと最近のプログラマーではないよな、と思い、今回はさくらVPSにPEARを導入し、PHPUnitを動かしてみるところまで行なってみます。
それでは始めましょう。
PEARをインストールする
PEARはすごい簡単にインストールすることが出来ます。
yumが使える環境では以下のコマンドで一発です。
$ yum -y install php-pear
yumが使えない環境の場合は、以下の記事を参考にしてみてください。
PHPUnitをPEAR経由でインストールする
PEARをインストールすることが出来たら、今度はPHPUnitをインストールしましょう。
以下の2つのコマンドを打ち込むだけでインストール出来ます。
$ pear config-set auto_discover 1
$ pear install pear.phpunit.de/PHPUnit
インストールされているか確認しましょう。
$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
PEAR 1.9.4 stable
PHPUnit 1.3.2 stable
インストールすることが出来ました。
PHPのinclude_pathを通す
僕はここで2時間つまりました。
ここで何がしたいかというと、PHPファイルの中でrequire_onceしたときにPEARでインストールしたパッケージを読み込めるようにするということです。
そのためにはまずPEARでインストールしたファイルがどこにあるのか確認しましょう。
$ pear config-show Configuration (channel pear.php.net): ===================================== ... PEAR directory php_dir /usr/share/pear ...
色々設定が出てきますが、「PEAR directory」という部分を探してください。
そこに書いてある部分にパスを通していきます。
僕の場合だと、「/usr/share/pear」にパスを通すべきだということがわかりました。
次に、php.iniの設定を変更します。
php.ini内に include_path という部分があるので、そこに上で確認したパスを追加してあげます。
$ vim /etc/php.ini .... include_path = ".:/usr/share/pear" ....
追加して保存したらapacheを再起動してPHPを再読み込みしましょう。
以下を実行して、動けばOKです。
$ phpunit PHPUnit 3.7.7 by Sebastian Bergmann. Usage: phpunit [switches] UnitTest [UnitTest.php] phpunit [switches].....
これでPHPUnitを使用する準備を整えることが出来ました!!
終わりに
最初はPEARがどのディレクトリに入っているのかを探すのにとても苦労しました。
また、include_pathを変更する!と気づいてから更に1時間くらい悩みました。
これは、include_pathの書き方をコロン(:)ではなくセミコロン(;)にしていたので動きませんでした。
この区切り文字は環境によって変わるらしいのでもし動かない場合は何個か試してみるとよいかもしれません。
しかしPEAR、便利ですね。昔のPEARは難しいと思っていた僕から相当成長したのだなぁと感じます。