インストールメモ
以下、自分向けのメモ。
phpbrewのインストール。
$ curl -O https://raw.github.com/c9s/phpbrew/master/phpbrew
$ chmod +x phpbrew
$ sudo cp phpbrew /usr/bin/phpbrew
初期設定コマンド。
$ phpbrew init
.bashrcか.zshrcに以下のコマンドを追記する(端末起動時にphpbrewの設定ファイルを読み込むようにする)。
source ~/.phpbrew/bashrc
Homebrewを使ってる場合は、以下のコマンドを叩くといいらしい。
(以前はする必要なかった気がするが、最新バージョンでは必要っぽい)
(これに関してはぶっちゃけ何してるかよく知らない)
$ phpbrew lookup-prefix homebrew
PHPのインストールはこんな感じでできる。
$ phpbrew install 5.4.0 +default
「+default」の部分はvariantsといって、PHPのconfigureオプション(インストール時に指定する拡張モジュールなど)を指定するもの。
variantsは以下のコマンドで詳細を確認できる。
$ phpbrew variants
Variants:
all, apxs2, bcmath, bz2, calendar, cgi, cli, ctype, dba, debug, dom, embed,
exif, fileinfo, filter, fpm, ftp, gcov, gd, gettext, hash, iconv, icu,
imap, intl, ipc, ipv6, json, kerberos, mbregex, mbstring, mcrypt, mhash,
mysql, openssl, pcntl, pcre, pdo, pgsql, phar, posix, readline, session,
soap, sockets, sqlite, tidy, tokenizer, xml, xml_all, xmlrpc, zip, zlib
Virtual variants:
dbs: sqlite, mysql, pgsql, pdo
mb: mbstring, mbregex
default: bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc,
json, mbregex, mbstring, mhash, mhash, pcntl, pcre, pdo, phar, posix,
readline, sockets, tokenizer, xml_all, zip, bz2
「+default」を指定すると、
default: bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc,
json, mbregex, mbstring, mhash, mhash, pcntl, pcre, pdo, phar, posix,
readline, sockets, tokenizer, xml_all, zip, bz2
がインストールされることがわかる。
こだわりがないなら+defaultは付けた方がいい。
インストールできるPHPのバージョンは、
$ phpbrew known
で確認できる。
今のところPHP 5.5が最新系。
こだわりがないなら一番新しいのでいいと思う。
自分は以下のようなオプションでインストールしてる。
$ phpbrew install 5.5.8 +default +mysql +apxs2 +openssl
(追記:20140115:OpenSSLのオプション追加した)
+aspxはapacheを使用するときに指定する(以下、若干うろ覚え)。
Macだと/usr/libexec/apache2に書き込み権限がないと警告かエラーが出たと思う。
いろいろ面倒なので自分は/usr/libexec/apache2のパーミッションを777に。
(phpbrewを使うような環境はローカルの開発環境だと思うし)
$ sudo chmod 777 usr/libexec/apache2
またapache2の設定ファイル(Macだと「/etc/apache2/httpd.conf」)にも書き込み権限がないと警告orエラーが出た気がする。
これはphpbrewが生成したPHPのモジュールの読み込み設定を追加しようとするため。
書き込み権限追加するか、それが嫌なら自分で設定を書く(自分はさくっと書いちゃってます)。
既存の設定をコメントアウトし、同じようなフォーマットでphpbrewでインストールしたモジュールを読み込むようにする。
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module libexec/apache2/libphp5.5.8.so
なんかバッドノウハウ感あるので、良い方法があったら誰か教えて下さい。