複数VerのPHPを管理するPHPbrew

2021年4月9日

PHPとかちょっとVer変わるだけでえらい仕様が変わったりして困るもんです。
しかしそんな困り事からもPHPbrewでおさらばしましょう。

まずはPHPbrewを導入してもPHPのビルドで蹴られるケースが非常に多いので、
apt-get build-dep パッケージ名
という指定したパッケージに必要なライブラリ等を前もってインストールできる便利なコマンドがあるから使いましょう。
今回は
apt-get build-dep php5
となります。
ついでにこちらもやっておきましょう。
apt-get install autoconf automake curl build-essential libxslt1-dev re2c libxml2-dev

☆PHPbrewをダウンロード
wget https://raw.github.com/c9s/phpbrew/master/phpbrew

☆ダウンロードしたPHPbrewの権限を変更
chmod +x phpbrew

☆ファイルの移動
sudo cp phpbrew /usr/bin/phpbrew

☆PHPbrewでインストールしたPHPを使えるようにするために
phpbrew init

ubuntuにログインしてるユーザーフォルダの中の.bashrcを開き以下の2行を追記する(ubuntuユーザー名のところは各自環境に合わせること)
export PHPBREW_SET_PROMPT=1
source /ubuntuユーザー名/.phpbrew/bashrc

これでPHPbrewの導入は完了です。試しにどのVerのPHPがインストール可能か見てみましょう。
phpbrew known

どわっと出てきますね。それでは更に試しでPHP5.4.40をインストールしてそっちを利用できるようにしてみます。

☆PHP5.4.40インストール
phpbrew install 5.4.40 +default

configオプションは全部で以下の物があり、
all, apxs2, bcmath, bz2, calendar, cgi, cli, ctype, curl, dba, debug, dom,
embed, exif, fileinfo, filter, fpm, ftp, gcov, gd, gettext, gmp, hash,
iconv, icu, imap, inifile, inline, intl, ipc, ipv6, json, kerberos, libgcc,
mbregex, mbstring, mcrypt, mhash, mysql, opcache, openssl, pcntl,
pcre, pdo, pgsql, phar, phpdbg, posix, readline, session, soap, sockets,
sqlite, static, tidy, tokenizer, wddx, xml, xml_all, xmlrpc, zip, zlib, zts

インストール時に以下のようにコマンドに付与することでオプションを複数付けられる。
+dbs だと sqlite, mysql, pgsql, pdo がオプションで付く
+mb だと mbstring, mbregex がオプションで付く
+neutral だと何も付かない。
+default だと bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc,
json, mbregex, mbstring, mhash, mcrypt, pcntl, pcre, pdo, phar, posix,
readline, sockets, tokenizer, xml, curl, openssl, zip がオプションで付く
+everything だと dba, ipv6, dom, calendar, wddx, static, inifile, inline, cli,
fpm, ftp, filter, gcov, zts, json, hash, exif, mbstring, mbregex, libgcc,
pdo, posix, embed, sockets, debug, phpdbg, zip, bcmath, fileinfo, ctype,
cgi, soap, pcntl, intl, phar, session, tokenizer, opcache, imap, tidy,
kerberos, xmlrpc, pcre, mhash, mcrypt, zlib, curl, readline, gd, icu,
openssl, mysql, sqlite, pgsql, xml, xml_all, gettext, iconv, bz2, ipc,
gmp がオプションで付く

☆使用するPHPのVerを指定する
phpbrew switch 5.4.40

☆Ver確認
php -v

インストールされたPHPファイルは.phpbrew/phpに置かれます。例えば、php 5.4.40の場合は
.phpbrew/php/5.4.40/bin/php
になります。

Linux

Posted by boomboom