CentOS6で、yumでphp5.3から5.5.28へアップデートする

2015/08 現在、CentOS 6 標準の yum でインストールされる PHP は 5.3.3 です。(いつまでこのままなのかな…)

remi のリポジトリを使って PHP 5.5 をインストールする方法は沢山書かれていますが、途中で躓いた箇所があったので備忘録として残しておきます。

PHP 5.3 から 5.5 までの変更点を前もって確認

5.3 から 5.5 へは結構変わっているので、使えなくなってるものや挙動の変わっているメソッドなどがあります。新たに非推奨となった機能は、今後使わないようにしましょう。

僕の場合、参照渡しの方法が変わっていたので(楽になったけど)元のコードを少々直す必要がありました。

PHP 5.3.x から PHP 5.4.x への移行

http://php.net/manual/ja/migration54.php

PHP 5.4.x から PHP 5.5.x への移行

http://php.net/manual/ja/migration55.php

リポジトリのインストール

epel のリポジトリを追加

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

※インストール済であることも

remi のリポジトリを追加

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

PHP 5.5 のインストールに必要なパッケージを入れる

yum install libxslt t1lib libXpm

今回の環境では、これらをインストールしていなければ、PHP 5.5 のインストール時にエラーが出ました。(php-gd 等)

【任意】PHP 5.3 のアンインストール

どうしても真っさらにしたいのでなければ飛ばして下さい。ここでアンインストールしなくても、アップデートでちゃんと置き換わるはずです。

yum remove php*

CentOS-Baseリポジトリを一時的にオフ

標準のリポジトリを一時的に切ります。

vi /etc/yum.repos.d/CentOS-Base.repo
[base]
enabled=0
[updates]
enabled=0
[extras]
enabled=0
[centosplus]
enabled=0
[contrib]
enabled=0

enabled = 0 にすることで、一時的に無効に。項目がない場合は追加。

PHP 5.5 をインストール(アップデート)

ようやく、remi リポジトリで PHP 5.5 のインストールです。

yum install --enablerepo=remi,remi-php55 php php-devel php-mbstring php-mcrypt php-mysqlnd php-fpm php-pear php-opcache php-gd

PHP 5.5 からは、php-mysql が php-mysqlnd に置き換わっています。php-mysql を前もってアンインストールしなくても置換えもやってくれます。

php-fpm は nginx を使っていなければ不要でしょう。

php-opcache (OPcache) は、PHP 5.3 などで使っていた APC の代わりとなるものです。PHP 5.5 からは APC は不要になるので、前もってアンインストールしておくといいでしょう。(pecl で入れていたので、pecl uninstall APC した)

PHP のバージョンを確認して終了

OPcache が入っているのが確認できますね。

php -v

PHP 5.5.28 (cli) (built: xxxxx) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

インストールが完了したら、一時的にオフにしたCentOS-Baseリポジトリを元に戻しておきましょう。

今回は、以下の記事を参考にさせていただきました。

http://qiita.com/ddss/items/6c704334a0fde4a29dc0

0 件のコメント :

follow us in feedly feed

PAGE TOP