Mac ports で PHP 5.4 と PHP 5.5 を開発ターゲットにあわせて切り替える

  • Posted on: 8 October 2014
  • By: miyabe

うちのようなソフトウェアの受託開発に携わる事業者であれば、お客さんの要望によって PHP のバージョンが変わるのに柔軟に対応しなければならない。

例えば、現在開発中のシステムが PHP 5.5 で開発している途中だとする。
そこに、別のお客さんから、保守契約中のシステムのバグ報告があったとする。
そんなときには、一時的に PHP 5.4 に変更し、すぐにバグの原因を調べなければならない。

そのための仕組みが Mac Ports には存在している。以下のコマンドで、PHP 5.4 から PHP 5.5 への変更や、PHP 5.5 から PHP 5.4 への変更が簡単におこなえる。

PHP5.4 と PHP5.5 のインストール

最初に ports tree をアップデートしておく。

% sudo port selfupdate && sudo port upgrade outdated
Password:
---> Updating MacPorts base sources using rsync
MacPorts base version 2.3.1 installed,
MacPorts base version 2.3.1 downloaded.
---> Updating the ports tree
---> MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated
---> Computing dependencies for apr-util
---> Fetching archive for apr-util
(以下略)

まずは、PHP 5.4 のインストール。php54 以外に、Apache モジュールである php54-apache2handler もインストールする。その他の PHP 拡張モジュールのインストールは、各自の必要な物をインストールしていただきたい。

% sudo port install php54 php54-apache2handler

PHP 5.4 の Apache モジュールを有効にする。

% cd /opt/local/apache2/modules
% sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php54.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
%

次に PHP 5.5 のインストール。5.5 用の Apache モジュール php55-apache2handler もインストール。

% sudo port install php55 php55-apache2handler

PHP 5.5 の Apache モジュールを有効にする。

% cd /opt/local/apache2/modules
% sudo /opt/local/apache2/bin/apxs -a -e -n php5 mod_php55.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
%

Apache モジュールの PHP 5.4 と PHP 5.5 を切り替え

上記手順で Apache の設定ファイルに、PHP 5.4, PHP 5.5 のモジュールが組み込まれている。下記コマンドで設定ファイルを開き、各モジュールの有効、無効を切り替える。

% sudo vi /opt/local/apache2/conf/httpd.conf

まずは PHP 5.4 を有効にする場合の変更箇所。以下のように mod_php55.so の行をコメントアウト。

LoadModule php5_module modules/mod_php54.so
#LoadModule php5_module modules/mod_php55.so

変更が終わったら Apache の再起動。

% sudo /opt/local/apache2/bin/apachectl restart

PHP 5.5 の Apache モジュールを有効にする場合は、mod_php55.so のコメントを外し、mod_php54.so をコメントにする。

#LoadModule php5_module modules/mod_php54.so
LoadModule php5_module modules/mod_php55.so

コマンドラインの php5.4 と php5.5 を切り替え

たまに、お試しプログラムをコマンドラインでチョコっと書いたりするが、コマンドラインの PHP のバージョンは以下の方法で変更可能である。

PHP 5.4 への変更。

% sudo port select php php54
Selecting 'php54' for 'php' succeeded. 'php54' is now active.
% php -v
PHP 5.4.32 (cli) (built: Oct 8 2014 15:59:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
%

PHP 5.5 への変更。

% sudo port select php php55
Selecting 'php55' for 'php' succeeded. 'php55' is now active.
% php -v
PHP 5.5.16 (cli) (built: Oct 8 2014 16:09:39)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
%

当然のことながら、PHP 5.3 や PHP 5.6 にも同様に切り替え可能である。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。

スポンサードリンク