CentOS6/SCLによるapache/mod_php5.4対応
- 公式サイトURL
https://wiki.centos.org/AdditionalResources/Repositories/SCL
- 参考URL
http://developers.redhat.com/blog/2013/08/01/php-5-4-on-rhel-6-using-rhscl/
php5.4インストール
SCLリポジトリを使えるように設定しておきます。
既にphp5.3で利用している場合、インストール済みのパッケージを確認し、同じように5.4系のパッケージをインストールします。
$ rpm -qa php-* (インストール済みのパッケージ群) # yum list php54-php-* (php54でインストール可能なパッケージ群)
WordPressを動作させている場合は、最低限、以下のパッケージが必要になるでしょう。
# yum install php54 php54-php php54-php-dba php54-php-gd php54-php-mbstring php54-php-mysqlnd php54-php-pdo
php.iniは/opt/rh/php54/root/etc/php.iniに配置され/適宜修正します。
$ ls /opt/rh/php54/root/etc/php.ini /opt/rh/php54/root/etc/php.ini
PEARパッケージ更新
OS標準状態を確認。
$ php -v PHP 5.3.3 (cli) (built: Feb 9 2016 10:36:17) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies $ pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.7 stable Auth_SASL 1.0.6 stable Console_Getopt 1.2.3 stable Mail_Mime 1.8.4 stable Mail_mimeDecode 1.5.5 stable Net_IDNA2 0.1.1 beta Net_SMTP 1.6.1 stable Net_Sieve 1.3.4 stable Net_Socket 1.0.10 stable PEAR 1.9.4 stable Structures_Graph 1.0.4 stable XML_RPC 1.5.4 stable XML_Util 1.2.1 stable
SCLによる環境切替を行い、必要に応じてPEARパッケージのインストール/更新を行います。
Roundcubemailを動作させている場合は、以下のような更新が必要になるでしょう。
# scl -l php54 # scl enable php54 bash # php -v PHP 5.4.16 (cli) (built: Nov 19 2014 08:05:17) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies # pear channel-update pear.php.net # pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.11 stable Console_Getopt 1.3.1 stable PEAR 1.9.4 stable Structures_Graph 1.0.4 stable XML_Util 1.2.1 stable
大抵の場合は不要なはずですが、OS標準パッケージでの提供/更新が遅い場合等、強制的にバージョンアップが必要な場合。
# pear list-upgrades pear.php.net Available Upgrades (stable): ========================================= Channel Package Local Remote Size ...(略) pear.php.net PEAR 1.9.4 (stable) 1.10.1 (stable) 285kB ...(略) # pear upgrade --force PEAR-1.10.1 # pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.4.2 stable Console_Getopt 1.4.1 stable PEAR 1.10.1 stable Structures_Graph 1.1.1 stable XML_Util 1.3.0 stable # pear list-upgrades Channel pear.php.net: No upgrades available
必要に応じてパッケージをインストール。
# pear install Mail_Mime # pear install Mail_mimeDecode # pear install MDB2 # pear install MDB2_Driver_mysql # pear install Net_Socket # pear install Net_SMTP # pear install Auth_SASL # pear install Net_Sieve # pear install DB # pear install XML_RPC # pear install --force Net_IDNA2 # pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.11 stable Auth_SASL 1.0.6 stable Console_Getopt 1.3.1 stable DB 1.9.2 stable MDB2 2.4.1 stable MDB2_Driver_mysql 1.4.1 stable Mail_Mime 1.10.0 stable Mail_mimeDecode 1.5.5 stable Net_IDNA2 0.1.1 beta Net_SMTP 1.7.1 stable Net_Sieve 1.3.4 stable Net_Socket 1.0.14 stable PEAR 1.9.4 stable Structures_Graph 1.0.4 stable XML_RPC 1.5.5 stable XML_Util 1.2.1 stable
apacheへの適用
既にmod_php(5.3版)がインストールされて/使用している場合は、apache定義が重複するため、既存の設定ファイルを空にします。
ここでは、既存のファイルを「php.conf.org」とリネームしています。
# service httpd configtest [Sun Mar 27 17:01:34 2016] [warn] module php5_module is already loaded, skipping Syntax OK # mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org && touch /etc/httpd/conf.d/php.conf # service httpd configtest Syntax OK
apacheプロセスをリスタートして、ウェブアプリケーションの動作確認を行います。
# service httpd restart