OSXのPHPにPEARとPHPUnitの入れ方の要点だけ

OSXのPHPで、PEARはLionまで?はインストールされていたらしいが、それ以降入っていないらしいので、PEARのインストールとPHPUnitのインストールをやる。

以降、OSX 10.8.5とPHP 5.3.26でのインストールメモ。PHPはOSX標準のもの。

$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.5
BuildVersion: 12F45
$ php -v
PHP 5.3.26 (cli) (built: Jul  7 2013 19:05:08)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

1. PEARの.pharをダウンロード

$ curl -O http://pear.php.net/go-pear.phar

2. PEARのインストール

$ sudo php -d detect_unicode=0 go-pear.phar

途中でインストール先を指定できるので、インストール先を編集して以下のようにする。
(パスさえ通ってればどこでもいいと思う)

 1. Installation base ($prefix)                   : /usr/lib/php
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /usr/bin
 5. PHP code directory ($php_dir)                 : /usr/lib/php/share/pear
 6. Documentation directory                       : /usr/lib/php/docs
 7. Data directory                                : /usr/lib/php/data
 8. User-modifiable configuration files directory : /usr/lib/php/cfg
 9. Public Web Files directory                    : /usr/lib/php/www
10. Tests directory                               : /usr/lib/php/tests
11. Name of configuration file                    : /Users/dms/.pearrc

3. php.iniにinclude_pathを編集する(必要あれば上記インストール中に注意書きが出る)

$ sudo cp /etc/php.ini.default /etc/php.ini

私の場合は書き込み権限が無かったから追加した

$ sudo chmod u+w /etc/php.ini

以下の行(上記PHP code directoryのパス)を足して保存。

include_path = “.:/usr/lib/php/share/pear”

以上でPEARのインストールは終了。次にPHPUnitのインストール。
基本的にここの通りにやれば良い。http://phpunit.de/manual/3.7/ja/installation.html#installation.pear

$ sudo pear config-set auto_discover 1
$ sudo pear install pear.phpunit.de/PHPUnit

エラーが出ずに終了すればphpunitが使えるようになってるはず。

$ phpunit –version
PHPUnit 3.7.28 by Sebastian Bergmann.

他のブログを調べると個別にchannelを追加してる例があったけど、基本的にはauto_discoverしてやれば良いっぽい。

もしもうまく行かない場合は適宜pearのchannelを追加してやれば良いと思う。例えば:

$ sudo pear channel-discover pear.phpunit.de

おしまい

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA