CentOS6系のPHP5.xを7.xへアップデート

CentOS6系のPHP5.xをPHP7.xに更新したメモ

環境

ここのサーバーでは、下記の環境でphp7.3更新作業を行いました
Scientific Linux 6.9
nginx
php-fpm
php5.6

更新前に作業

php5.xを削除するので、/etc/php.iniのバックアップ
php-fpmも再設定が必要なので、/etc/php-fpm.d/www.confをバックアップ

現在のPHP確認

$ php -v<br /> PHP 5.6.35 (cli) (built: Mar 29 2018 07:37:47)<br /> Copyright (c) 1997-2016 The PHP Group<br /> Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

旧バージョンの削除

# yum remove php-*
(zshだと php-¥*)

epelとremiのインストール確認

remiは6系のものでOK
(remiは最新のもので、priority=1)推薦

# vi /etc/yum.repos.d/remi-php73.repo<br /> [remi-php73]<br /> priority=1<br /> ....

/etc/yum.repo.d/内にremi-php7*.repoがあることを確認

念の為、yumのキャッシュを削除

# yum clean all

7.xをインストール

nginx版
# yum install --enablerepo=remi-php73 php php-fpm php-mcrypt php-cli php-common php-devel php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-pear php-pecl-apcu php-pecl-zip php-process php-xml

Apache版
# yum -y install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-mysql php-pdo php-gd

補足:——————————————————————
libargon2の依存関係でアップデート処理が止まる場合は、remiのリポジトリを最新にするか再インストール
https://www.riscascape.net/archives/16990

php7.3の確認

$ php -v<br /> PHP 7.3.0 (cli) (built: Dec 4 2018 20:10:48) ( NTS )<br /> Copyright (c) 1997-2018 The PHP Group<br /> Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies<br /> with Zend OPcache v7.3.0, Copyright (c) 1999-2018, by Zend Technologies

ZendEngineもZendOPcacheに変更され、APCuも導入済みとなっております

OPcache、APCuの設定については、初期設定のまま使用します

php-fpmの設定

下記環境は、個々に違いがあるので自分の環境に合わせてくださいね

# vi /etc/php-fpm.d/www.conf<br /> listen = 127.0.0.1:9000<br /> listen.owner = nobody<br /> listen.group = nobody<br /> listen.mode = 0660<br /> user = apache<br /> group = apache<br /> pm = static<br />
保存後、php-fpmを再起動します。

# /etc/init.d/php-fpm restart

php.iniの再設定

default_charset = UTF-8<br /> mbstring.language = Japanese<br /> mbstring.encoding_translation = Off<br /> mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII<br /> date.timezone = Asia/Tokyo<br /> expose_php = Offmemory_limit = 128M<br /> post_max_size = 128M<br /> upload_max_filesize = 128M<br /> memory_limit = 128M<br /> date.timezone = "Asia/Tokyo"<br />
保存後、nginx再起動

# /etc/init.d/nginx restart


See also