[PHP] CentOS5.10にてphp5.5をインストールするの巻

スポンサーリンク

CentOS5.10にてPHP5.5を使ってみたくなった。
というのも、PHP5.5からはOPcacheというものがあって、別途php-opcacheパッケージをインストールすると処理速度が上がるという情報をゲットしたので早速してみた。

追記:
php5.5による高速化に関してはエックスサーバーのこちらの説明がわかりやすかったです。
またまた情報共有ありがとうございます。

便乗して広告も貼っておこう。RAID10で?FastCGI利用だって?

 

以前 [CentOS6] PHP5.3からPHP5.4にバージョンアップしましたの巻 にて、CentOS6でのPHPバージョンアップに関しては記事を書いていたのですが、今回はCentOS5.10にてPHP5.5にアップデートする方法を書いてみたいと思います。

CentOS5.10にてPHP5.5にアップデート(yum replace)する方法

今回も面倒くさいのでyumでの操作を行いました。

参考にしたのはこちらのサイト
http://www.webtatic.com/packages/php55/

phpに依存するパッケージがある場合は [CentOS6] PHP5.3からPHP5.4にバージョンアップしましたの巻 にて解説している方法の方がいいと思います。理由は、yum replaceを行うとPHPに依存しているパッケージが削除されてしまうからです。yumに、「–nodeps」オプションがあったらーという感じなのですが、用意されていないのでもし依存するパッケージがあって、それらが削除されたあとに再インストールするのが怖い方は、rpm -e –nodepsを用いてphpとその他もろもろを削除したあとにyum installでphp5.5をインストールする方法をお勧めします。といっても、yum replaceの方が楽だなぁーという場合は、yum replaceしちゃってから依存するプログラムをインストールし直してもいいかもしれません。ちなみにyumに「–nodeps」オプションがない理由に関してはこちら(英語)のサイトに記載がありました。興味がある方は見てみてください。要約すると、依存関係を考慮してインストールするためのコマンドで、–nodepsや–forceを使ったときの影響が大きいため、使いたい人はrpmコマンドとかその他の回避策を使ってくれってことです。

さて、本題に移ります。(まえがきの方が長いww)

1.yumのレポジトリを追加

# rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

2.yumのプラグインをインストール

yum install yum-plugin-replace

3.yum replaceを用いてphpからphp55wに置き換え

追加情報としてこちらの記事もご覧ください。。

yum replace php-common --replace-with=php55w-common

4.php-opcacheをインストール

yum install php55w-opcache

5.replace時に退避されたphp.ini.rpmnewをphp.iniにする

cp /etc/php.ini.rpmnew /etc/php.ini

6.退避された/etc/php-fpm.d/www.conf.rpmnewを/etc/php-fpm.d/www.confにする

【php-fpmを利用されていない方は不要です】
当方nginx+php-fpmで運用しているのですが、この作業を忘れていたせいで「nginxを再起動してもうごかないじゃないか!」となりました。nginxにてBad Gatewayになってしまいあたふたしてしまいました。昼間に行ったので2分程度ブログが表示できなくなっちゃいました(汗) メンテナンス時間を考えろって話ですねww

cp /etc/php-fpm.d/www.conf.rpmnew /etc/php-fpm.d/www.conf

7.php-fpmを再起動する

【php-fpmを利用されていない方は不要です】

service php-fpm restart

8.Webサービスの再起動を行う

Apacheの場合

service httpd restart

nginxの場合

service nginx restart

最後に動作確認を行います。「php -v」コマンドを実行して以下のような出力が出てくればOKです。

[root@vps1 ~]# php -v
PHP 5.5.7 (cli) (built: Dec 13 2013 16:39:00)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
[root@vps1 ~]#

必要な方はphpinfoを設定したファイルをWebサーバー上において、正しく認識しているか確認してください。

以上!

コメント

  1. くりくり より:

    おはようございます。
    さっそくバージョンアップしました。

    [root@www ~]# yum replace php-common –replace-with=php55w-common
    Loaded plugins: downloadonly, fastestmirror, priorities, replace, security
    Loading mirror speeds from cached hostfile
    epel/metalink | 5.2 kB 00:00
    * base: http://ftp.iij.ad.jp
    * epel: http://ftp.iij.ad.jp
    * extras: http://ftp.iij.ad.jp
    * updates: http://ftp.iij.ad.jp
    * webtatic: us-east.repo.webtatic.com
    base | 3.7 kB 00:00
    extras | 3.4 kB 00:00
    mariadb | 1.9 kB 00:00
    nginx | 2.9 kB 00:00
    updates | 3.4 kB 00:00
    82 packages excluded due to repository priority protections
    Replacing packages takes time, please be patient…

    WARNING: Unable to resolve all providers: [‘config(php-common)’, ‘curl.so()(64bit)’, ‘fileinfo.so()(64bit)’, ‘json.so()(64bit)’, ‘phar.so()(64bit)’, ‘php(language)’, ‘php-core’, ‘php-ereg’, ‘php-filter’, ‘php-phar’, ‘php-standard’, ‘zip.so()(64bit)’, ‘php-common(x86-64)’, ‘php-cli(x86-64)’, ‘config(php)’, ‘php(x86-64)’, ‘config(php-mbstring)’, ‘mbstring.so()(64bit)’, ‘php-mbstring(x86-64)’, ‘config(php-pdo)’, ‘pdo.so()(64bit)’, ‘pdo_sqlite.so()(64bit)’, ‘sqlite3.so()(64bit)’, ‘php-pdo(x86-64)’, ‘config(php-mysql)’, ‘mysql.so()(64bit)’, ‘mysqli.so()(64bit)’, ‘pdo_mysql.so()(64bit)’, ‘php-mysql(x86-64)’, ‘config(php-fpm)’, ‘php-fpm’, ‘php-fpm(x86-64)’]

    という警告がでたんで# rpm -qa |grep phpでphpパッケージをしらべて,# rpm -eですべてphpパッケージを削除し#yum -y install php55wで関係するパッケージをインストール
    [root@www ~]# php -v
    PHP 5.5.7 (cli) (built: Dec 13 2013 15:59:26)

  2. trippyboy より:

    くりくりさん

    おはようございます!
    言い忘れてました。。その警告は無視していいんです。yで進んでいいんですσ(^_^;)
    そいつは単なる警告でphp-*系のパッケージも全部一緒にインストールされ直されるんです。無視していいと書くべきでした。
    後ほど修正しておきます!
    Dependencyの表示がなければ全部yで進んで問題ないと思います!

  3. くりくり より:

    パッケージ名が違うから、remiとちがっていいかもしれません。
    うちは今wordpressが多いのでphp5.3.3に対応とれなくなったら、ここを考えます。

  4. trippyboy より:

    yum replaceなんてのがあるなんて知らなかったので、自分はすごく勉強になった気がします。
    これも、php5.5の魅力を紹介していただいたくりくりさんのおかげです(*´∀`*)

  5. trippyboy より:

    くりくりさん

    さっそく記事にしてみましたヽ(・∀・)ノ
    [yum] replaceの「Unable to resolve all providers」の意味と対応の巻

タイトルとURLをコピーしました