WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

yumでPHPのバージョンアップを行う方法

      2012/12/13

PHPをyumでバージョンアップする手順

phpのバージョンを5.1.6から5.2.16へバージョンアップしたときの備忘録です。

# php -v
PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:37)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

1.リポジトリ設定

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# vi /etc/yum.repos.d/utterramblings.repo
※下記を追記する
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

2.yumでのアップデート

# yum -y update php

3.リポジトリ設定ファイル編集

yum実行後、手順1で編集したファイルの一箇所を修正。

# vi /etc/yum.repos.d/utterramblings.repo
enabled=0

4.バージョンアップ完了の確認

Apacheを再起動後、PHPのバージョンアップを確認して完了。

# /etc/init.d/httpd restart
# php -v
PHP 5.2.16 (cli) (built: Dec 17 2010 14:09:03) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

エラーが出る場合の対処法

自分の環境では、下記のようなエラーがぞろぞろ出たので、一度PHPを再インストールしてみました。

PHP Warning:  PHP Startup: fileinfo: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
# yum -y remove 'php*'

手順1を行って、下記コマンド実行。

# yum -y install php

php -vコマンドを実行し、エラーが出力されないことを確認して完了です。

ただし”remove ‘php*'”でPHPのモジュールが全部アンインストールされてしまっているので、後で適宜個別でインストールしなおすことにします。
PHPモジュールの個別追加についての参考記事:yumでphpのモジュールを個別追加 – シナプスソフトプログラマのブログ

  • PHPのバージョンアップは非常にデリケートな問題で、バージョンアップ後にWEBアプリが動作しなくなることも珍しくありません。この記事の内容の実践は自己責任でお願い致します。
  • この記事の内容はテストサーバで行って下さい。

 - PHP ,