Mac[Lion]でPhingやPhpDocumentor等、PHPのツールを使用する必要があったためPHPのコマンドライン(CLI)環境を構築した。
PHP自身はもともとインストールされているものを使用し、システム関連の設定を変更することなく個人用の環境を構築する。
PEARのインストール
pearのホームは~/pearとする
その他PEARの作業用ディレクトリも作っておく
$ mkdir ~/pear
$ mkdir ~/pear/work
$ mkdir ~/pear/work/temp
$ mkdir ~/pear/work/cache
$ mkdir ~/pear/work/downloads
go-pear.pharを取ってくる。
$ cd ~/pear
$ wget http://pear.php.net/go-pear.phar
wgetコマンドがインストールされていない場合はPortsから取得
$ sudo port install wget
ダウンロードしたPharを実行
$ php ./go-pear.phar
各ディレクトリを聞かれるので以下を設定。もちろん値は自由だが以下は参考。
1. Installation base ($prefix) : /Users/xxx/pear
2. Temporary directory for processing : /Users/xxx/pear/work/temp
3. Temporary directory for downloads : /Users/xxx/pear/work/downloads
4. Binaries directory : /Users/xxx/pear/bin
5. PHP code directory ($php_dir) : /Users/xxx/pear/php
6. Documentation directory : /Users/xxx/pear/docs
7. Data directory : /Users/xxx/pear/data
8. User-modifiable configuration files directory : /Users/xxx/pear/cfg
9. Public Web Files directory : /Users/xxx/pear/www
10. Tests directory : /Users/xxx/pear/tests
11. Name of configuration file : /Users/xxx/.pearrc
設定後php.iniを変更するかと聞かれるが後に設定するためNoを指定。
インストールを終了した後、環境変数の設定
$ vi ~/.profile
export PATH=~/pear/bin: xxxxxx <= 追加
反映
$ source ~/.profile
これでpear/bin内の各コマンドが実行できる。
以下のコマンドで現在の設定内容を確認できる。
$ pear config-show
各値を再度設定したい場合は以下のように行う
$ pear config-set キー名 値
例えばキャッシュディレクトリを変更する場合
$ pear config-set cache_dir /Users/xxx/pear/work/cache
これらの設定は各ユーザの設定がシステムの値を上書きするため
システム本来の設定にはなんら影響がない。
しかし、これだけではphp.iniのinclude_pathが合わないため
コマンドでエラーが発生する。
phpコマンドの設定ファイルの状況を確認するには以下のコマンド
$ php --ini (ハイフン2つ)
通常だと/private/etc/php.iniが読み込まれているはずだ。
sudo で設定を書き換えることもできるが、好ましくない。
よって環境変数によって個人用のphp.iniを読み込ませる。
オリジナルをコピー
$ cp /etc/php.ini.default ~/pear/php-cli.ini
include_pathを修正
$ vi ~/pear/php-cli.ini
...
include_path = ".:ユーザーディレクトリ/pear/php"
...
環境変数の設定
$ vi ~/.profile
export PHPRC=~/pear <= 追加
変数を反映
source ~/.profile
これでユーザー用に作成したphp.iniをコマンドラインで読み込ませることができる。
確認は以下で、作成したファイルが読み込まれていれば完了
$ php --ini