トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   一覧 最終更新   ヘルプ   最終更新のRSS
 


動作確認ディストリビューション

PHPBrew 1.8.18のインストール

ここでは、複数のPHPのバージョンを導入し簡易に切り替えることが可能なPHPBrewのインストール方法について説明します。
※以下の説明では、SELinux、及び、iptablesがOFFの状態であることを前提としています。

README.ja.mdの「必須環境」を参照すると、以下のパッケージ群が必要と記載されていますので、
Scientific Linuxのネットワークインストール(minimalインストール)でインストールされないものを追加で導入していきます。

  • PHP5.3
  • curl
  • gcc
  • binutil
  • autoconf
  • libxml
  • zlib
  • readline
# yum -y install gcc
# yum -y install make
# yum -y install libxml2-devel
# yum -y install bzip2-devel
# yum -y install libxslt-devel
# yum -y install httpd
# yum -y install httpd-devel

必須パッケージのPHP5.3の導入について
CentOS5系の場合、PHP5.1.6がデフォルトで導入されるため、以下のようにWebtaticリポジトリを利用し、
PHP5.3.xを導入するようにREADME.ja.mdでは説明がなされています。

$ sudo rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
$ sudo yum install --enablerepo=webtatic php php-xml

Scientific Linux6系で上記と同様にWebtaticリポジトリを利用する場合は、
以下の手順でphp、php-xmlを導入可能です。

# rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm ←パスは環境(OSのバージョンやアーキテクチャ)によって変わる場合があります
# yum -y install --enablerepo=webtatic php php-xml

ただし、Scientific Linux6系では、PHPのデフォルトバージョンが5.3.xとなっているため、
わざわざWebtaticリポジトリを利用せずとも通常通り以下のコマンドでOKです。

# yum -y install php php-xml

必須パッケージのre2c、libmhashの導入について
PHP5.3の場合と同様に、re2c、libmhashの導入についても、README.ja.mdでは以下のように、
RPMforgeリポジトリを利用する説明が記載されています。

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo yum install --enablerepo=rpmforge re2c libmhash

Scientific Linux6系で上記と同様にRPMforgeリポジトリを利用する場合は、
以下の手順でre2c、libmhashを導入可能です。

# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm ←パスは環境(OSのバージョンやアーキテクチャ)によって変わる場合があります
# yum -y install --enablerepo=rpmforge re2c libmhash

ただし、今回は以下のようにfedora EPELのサイトからいずれのパッケージも取得しインストールしました。
(なんとなく由緒正しそうなので。。。)

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/re2c-0.13.5-1.el6.i686.rpm ←パスは環境(OSのバージョンやアーキテクチャ)によって変わる場合があります
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/mhash-0.9.9.9-3.el6.i686.rpm ←パスは環境(OSのバージョンやアーキテクチャ)によって変わる場合があります

PHPBrewのバイナリの取得

# curl -O https://raw.github.com/c9s/phpbrew/master/phpbrew
または
# wget https://raw.github.com/c9s/phpbrew/master/phpbrew

PHPBrewのバイナリに実行権限を付与

# chmod +x phpbrew
または
# chmod 755 phpbrew

パスが通っているディレクトリに実行ファイルを移動(README.ja.mdではmvではなくcpするように手順に記載されています)

# mv phpbrew /usr/bin/phpbrew

PHPBrewの初期化

# phpbrew init

以下のコマンドを「.bashrc」に追記します。(「.zshrc」にも対応しているらしい)

source ~/.phpbrew/bashrc
または
source $HOME/.phpbrew/bashrc

インストール可能なPHPのバージョンを一覧表示

# phpbrew known
Available stable versions:
        php-5.4.13
        php-5.4.12
        ~省略~
        php-5.3.1
        php-5.3.0

インストール可能なPHPのバージョンを一覧表示(5.3以前も表示)

# phpbrew known --old
Available stable versions:
        php-5.4.13
        php-5.4.12
        ~省略~
        php-5.3.1
        php-5.3.0
        php-5.2.17
        php-5.2.16
        ~省略~
        php-4.3.3
        php-4.3.2

PHPBrewは各バージョンのインストール時にvariants(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_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


Using variants to build PHP:

  phpbrew install php-5.3.10 +default <= PHP5.3.10をdefaultのvariantsでインストール
  phpbrew install php-5.3.10 +mysql +pdo <= PHP5.3.10を「--with-mysql」、「--with-pdo-mysql」でインストール
  phpbrew install php-5.3.10 +mysql +pdo +apxs2 <= PHP5.3.10を「--with-mysql」、「--with-pdo-mysql」、「--with-apxs2」でインストール
  phpbrew install php-5.3.10 +mysql +pdo +apxs2=/usr/bin/apxs2 <= PHP5.3.10を「--with-mysql」、「--with-pdo-mysql」、「--with-apxs2=/usr/bin/apxs2」でインストール

PHP5.4.13をdefaultのvariants、かつ、apxs2を利用してCGI版でインストール
※「--with-xxx」、「--enabled-xxx」にする場合はvariantsの先頭に「+」をつける

# phpbrew install php-5.4.13 +default +apxs2

システムにインストールしているPHP5.3.xからPHPBrewでインストールしたPHP5.4.13に切り替える

# php -v
PHP 5.3.3 (cli) (built: Feb 27 2013 14:54:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

# phpbrew switch php-5.4.13

# php -v
PHP 5.4.13 (cli) (built: Mar 24 2013 00:12:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

PHP5.3.23をdefaultのvariants、かつ、--without-sqlite3、--without-pdo-sqlite、--with-apxs2、--with-zlibでインストール
※オリジナルのconfigureオプションを利用する場合は「--」以降に続ける
※「--without-xxx」、「--disabled-xxx」にする場合はvariantsの先頭に「-」をつける

# phpbrew install php-5.3.23 +default -sqlite -- --with-apxs2 --with-zlib

PHPBrewでインストールしたPHP5.4.13からPHPBrewでインストールしたPHP5.3.23に切り替える

# php -v
PHP 5.4.13 (cli) (built: Mar 24 2013 00:12:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

# phpbrew switch php-5.3.23

# php -v
PHP 5.3.23 (cli) (built: Mar 24 2013 00:32:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

PHPBrewを終了

# phpbrew off
phpbrew is turned off.

PHPBrewでインストールしたPHPを一覧表示

# phpbrew list
Installed versions:
* (system)
  php-5.3.23       (/root/.phpbrew/php/php-5.3.23)
                   +default -sqlite -- --with-apxs2 --with-zlib
  php-5.4.13       (/root/.phpbrew/php/php-5.4.13)
                   +default+apxs2

apxs2のvariantsでインストールした場合、httpd.confのモジュールの読み込みは以下のように、
インストール順に追記される形式となるため、CGIとしてPHPを動作させる場合は手動による調整が必要になりそうです。
※例えば、利用しないバージョンについてはコメントアウトするとか。

# cat /etc/httpd/conf/httpd.conf|grep libphp
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.4.13.so
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.so
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.4.9.so
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.3.0.so

課題としては、「PEAR/PECLのモジュールを追加でインストールする方法」がいまいち不明な点。
README.mdでは、以下のように色々な形式でPECLモジュールインストールする方法が載せられていますが、
PEARについては一切触れられていません。もしかしたら「phpbrew ext install ~」で出来るのかも?

phpbrew ext install APC
phpbrew ext install xdebug stable
phpbrew ext install xdebug latest
phpbrew ext install xdebug beta
phpbrew ext install xdebug 2.0.1
phpbrew ext install yaml -- --with-yaml=/opt/local
pecl install mongo
phpbrew ext enable mongo

Last-modified: 2013-03-24 (日) 23:03:25 (2066d)