:::: MENU ::::

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

はてなブックマーク - CentOS6系のPHP5.xを7.xへアップデート
Pocket

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
PHP 5.6.35 (cli) (built: Mar 29 2018 07:37:47)
Copyright (c) 1997-2016 The PHP Group
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
[remi-php73]
priority=1
....

/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のリポジトリを最新にするか再インストール

php7.3の確認

$ php -v
PHP 7.3.0 (cli) (built: Dec 4 2018 20:10:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
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
listen = 127.0.0.1:9000
listen.owner = nobody
listen.group = nobody
listen.mode = 0660
user = apache
group = apache
pm = static

保存後、php-fpmを再起動します。

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

php.iniの再設定

default_charset = UTF-8
mbstring.language = Japanese
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
date.timezone = Asia/Tokyo
expose_php = Offmemory_limit = 128M
post_max_size = 128M
upload_max_filesize = 128M
memory_limit = 128M
date.timezone = "Asia/Tokyo"

保存後、nginx再起動

# /etc/init.d/nginx restart


So, what do you think ?