PHPのバージョンを管理するソフトウェアはphpbrewが一番使いやすいです。
なので、みなさんもphpbrewを使いましょう。
GitHub - phpbrew/phpbrew: Brew & manage PHP versions in pure PHP at HOME
インストール方法や使い方はREADMEを見るのが一番いいです。
インストールメモ
以下、自分向けのメモ。
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
なんかバッドノウハウ感あるので、良い方法があったら誰か教えて下さい。
PHPのバージョン変更
使用するPHPを指定する場合は、以下のコマンドを実行します。
$ phpbrew use 5.5.8 # 一時的に5.5.8に変更する(端末を再起動したら元のバージョンに戻る) $ phpbrew switch 5.5.8 # デフォルトで使用するバージョンを5.5.8に変更する(端末を再起動しても5.5.8のまま)
まとめ
phpbrew便利。