CentOS 5.4 に PHP 5.2 をインストールしてみる

SERVER

PHP スクリプトを CentOS 5.4 で構築した Web サーバーに設置してみたところ、PHP スクリプトが途中で打ち切られてしまうという問題が発生しました。

原因は、PHP スクリプトで使用していた mysql_set_charset 関数で、どうやらこれが PHP 5.4.0 以上でないと利用できない様子です。


PHP 5.2 へのアップデート

PHP スクリプトを CentOS 5.4 で構築した Web サーバーに設置してみたところ、PHP スクリプトが途中で打ち切られてしまうという問題が発生しました。

原因は、PHP スクリプトで使用していた mysql_set_charset 関数で、どうやらこれが PHP 5.4.0 以上でないと利用できない様子です。

そこで PHP のバージョンを確認してみたところ、CentOS 5.4 で標準でインストールできるバージョンは、少なくとも平成 22 年 2 月 4 日の段階では 5.1.6-24.el5_4.5 のようで、これが原因で実行時に処理が打ち切られるという問題が発生しているようでした。

 

そこで、今回は CentOS 5.4 に PHP 5.2 をインストールしてみることにしました。

PHP 5.2 をインストールするためには、平成 22 年 2 月 4 日現在、yum のリポジトリとして "c5-testing" を追加する必要があるようです。

cd /etc/yum.repos.d

wget http://dev.centos.org/centos/5/CentOS-Testing.repo

これで、リポジトリ "c5-testing" が利用可能になります。

ただ、リポジトリに優先順位が設定されている場合には、設定ファイルで "priority=1" を設定しないと、アップデートをしようとしても PHP 5.2 系のパッケージが検出されないので注意しましょう。

その他も含め、次のような感じに "/etc/yum.repos.d/CentOS-Testing.repo" の内容を調整しておくことになるでしょう。

[c5-testing]

name=CentOS-5 Testing

baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/

enabled=0

gpgcheck=1

gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

priority=1

 

これで、このリポジトリから PHP 5.2 をインストールすることが可能となります。

yum --enablerepo=c5-testing update php

このようにすれば、平成 22 年 2 月 4 日現在、次のようなパッケージが検出されましたので、アップデートを続行します。

==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Updating:
php x86_64 5.2.10-1.el5.centos c5-testing 1.2 M
Updating for dependencies:
php-cli x86_64 5.2.10-1.el5.centos c5-testing 2.4 M
php-common x86_64 5.2.10-1.el5.centos c5-testing 242 k
php-ldap x86_64 5.2.10-1.el5.centos c5-testing 32 k
php-mbstring x86_64 5.2.10-1.el5.centos c5-testing 1.1 M
php-mysql x86_64 5.2.10-1.el5.centos c5-testing 83 k
php-pdo x86_64 5.2.10-1.el5.centos c5-testing 63 k

Transaction Summary
==========================================================================================

あとは次のようにして Apache を再起動することで、PHP 5.2.10 が有効になります。

service httpd restart