MacBookにpearをインストールしたメモ
Ethnaのテストを動かそうとしてローカルの環境を整えていたら、simpletestが入っていなくて、さらにpearコマンドで入れようとしたら pearが入っていなかったので、インストールをしてみた。
ローカルの MacBookでは、phpもソースインストールではないので、元々入っているやつをそのまま使っている。
普段使っている CentOSならば、yumで、と行きたいところだが、Macなので、MacPortsかなーと思って探してみたが、それらしいのは無かった。
$ port search php $ port search pear
そこでぐぐって出てきた、こちらのサイトを参考に入れてみた。ほぼそのままですが。
「Mac OS 10.5にpearをインストール│素晴らしき哉、人生!」
今回の環境はこちら。
- Mac OS X 10.5.5
$ php -v PHP 5.2.6 (cli) (built: Jul 15 2008 23:16:51) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
pear.php.netから落としてきたファイルを実行する。
$ curl http://pear.php.net/go-pear> pear.php $ sudo php -q pear.php
2回Enterをすると以下のような質問を聞いてくる。
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.1. Installation prefix ($prefix) : /Users/XXXX
2. Temporary files directory : $prefix/temp
3. Binaries directory : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory : $php_dir/docs
6. Data base directory : $php_dir/data
7. Tests base directory : $php_dir/tests1-7, 'all' or Enter to continue:
1を押してインストールパスを変更する。
私は、/usr/share/pear を指定しました。
このままでは、pearコマンドにパスが通っていないので、/usr/bin/以下にシンボリックリンクを作成しておく。
$ sudo ln -fs /usr/share/pear/bin/* /usr/bin/
これで、いつもの pear コマンドが使えるようになった。
$ pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.2 stable Config 1.10.11 stable Console_Getopt 1.2.3 stable HTML_Template_IT 1.2.1 stable MDB2 2.4.1 stable MIME_Type 1.1.3 stable PEAR 1.7.2 stable PEAR_Frontend_Web 0.7.3 beta Structures_Graph 1.0.2 stable
Ethnaで必要なファイルをインストールする。
$ sudo pear channel-discover pear.ethna.jp $ sudo pear install ethna/smarty $ sudo pear install ethna/simpletest
pear list コマンドに -a オプションを付けて入っているのを確認。
$ pear list -a Installed packages, channel __uri: ================================== (no packages installed) Installed packages, channel pear.ethna.jp: ========================================== Package Version State Smarty 2.6.21 stable simpletest 1.0.1 stable Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.2 stable Config 1.10.11 stable Console_Getopt 1.2.3 stable HTML_Template_IT 1.2.1 stable MDB2 2.4.1 stable MIME_Type 1.1.3 stable PEAR 1.7.2 stable PEAR_Frontend_Web 0.7.3 beta Structures_Graph 1.0.2 stable Installed packages, channel pecl.php.net: ========================================= (no packages installed)
このままでは、phpにパスが通っていなかったので、php.iniに記述を追加。
追加するために、まずは php.iniのある場所を探す。
$ php -i | grep ini Configuration File (php.ini) Path => /etc
$ sudo cp /etc/php.ini.default /etc/php.ini $ sudo vi /etc/php.ini
差分
$ diff /etc/php.ini.default /etc/php.ini 469c469 < ;include_path = ".:/php/includes" --- > include_path = ".:/usr/share/pear/PEAR"
読み込まれているか確認
$ php -i | grep include_path include_path => .:/usr/share/pear/PEAR => .:/usr/share/pear/PEAR
余談
ここまでやって再度、php.iniが読み込まれているか確認したところ、
$ php -i | grep ini Configuration File (php.ini) Path => /etc Loaded Configuration File => /private/etc/php.ini
/private/etc ?? という感じだった。
Macの /etc はシンボリックリンクなのかぁ
$ ls -l /etc lrwxr-xr-x@ 1 root admin 11 10 26 11:24 /etc -> private/etc