実現する機能
WordPressのプラグインをアップデートしようとするとPHPが古いと怒られたので、PHPを7.4を8.0までUpgradeしました。
以下はその備忘録です。

最新に近いPHPを入れる準備手順
以下ではGnome端末を使用。
紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。
#epel-releaseインストール
[root@e4vlm0ra ~]# yum -y install epel-release
インストール:
epel-release.noarch 0:7-11
完了しました!
#Remi’s RPM repositoryをインストール
[root@e4vlm0ra ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
インストール:
remi-release.noarch 0:7.3-2.el7.remi
完了しました!
[root@eycwl8s4 ~]# /etc/yum.repos.d/ |grep remi-
-rw-r–r–. 1 root root 855 11月 28 2023 remi-modular.repo
-rw-r–r–. 1 root root 456 11月 28 2023 remi-php54.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php70.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php71.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php72.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php73.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php74.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php80.repo <= php80がインストールされたことを確認
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php81.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php82.repo
-rw-r–r–. 1 root root 1314 11月 28 2023 remi-php83.repo
-rw-r–r–. 1 root root 750 1月 12 2020 remi-safe.repo |
PHPの更新手順
#現在インストールされているPHPファイルを確認。
[root@eycwl8s4 ~]# rpm -qa | grep php
php-gd-7.2.30-1.el7.remi.x86_64
php-fpm-7.2.30-1.el7.remi.x86_64
php-fedora-autoloader-1.0.1-2.el7.remi.noarch
php-mbstring-7.2.30-1.el7.remi.x86_64
php-common-7.2.30-1.el7.remi.x86_64
php-mysqlnd-7.2.30-1.el7.remi.x86_64
php-pear-1.10.11-1.el7.remi.noarch
php-cli-7.2.30-1.el7.remi.x86_64
php-devel-7.2.30-1.el7.remi.x86_64
php-pecl-apcu-5.1.18-1.el7.remi.7.2.x86_64
php-json-7.2.30-1.el7.remi.x86_64
php-7.2.30-1.el7.remi.x86_64
php-intl-7.2.30-1.el7.remi.x86_64
php-pdo-7.2.30-1.el7.remi.x86_64
php-pecl-mcrypt-1.0.3-1.el7.remi.7.2.x86_64
php-xml-7.2.30-1.el7.remi.x86_64
php-process-7.2.30-1.el7.remi.x86_64
#現在インストールされているPHPファイルを削除。
[root@eycwl8s4 ~]# yum -y remove php-*
…
…
削除しました:
php.x86_64 0:7.2.30-1.el7.remi
php-cli.x86_64 0:7.2.30-1.el7.remi
php-common.x86_64 0:7.2.30-1.el7.remi
php-devel.x86_64 0:7.2.30-1.el7.remi
php-fedora-autoloader.noarch 0:1.0.1-2.el7.remi
php-fpm.x86_64 0:7.2.30-1.el7.remi
php-gd.x86_64 0:7.2.30-1.el7.remi
php-intl.x86_64 0:7.2.30-1.el7.remi
php-json.x86_64 0:7.2.30-1.el7.remi
php-mbstring.x86_64 0:7.2.30-1.el7.remi
php-mysqlnd.x86_64 0:7.2.30-1.el7.remi
php-pdo.x86_64 0:7.2.30-1.el7.remi
php-pear.noarch 1:1.10.11-1.el7.remi
php-pecl-apcu.x86_64 0:5.1.18-1.el7.remi.7.2
php-pecl-mcrypt.x86_64 0:1.0.3-1.el7.remi.7.2
php-process.x86_64 0:7.2.30-1.el7.remi
php-xml.x86_64 0:7.2.30-1.el7.remi
完了しました!
#remiのリポジトリから8.0のPHPをインストール。
[root@eycwl8s4 ~]# yum install -y --enablerepo=epel,remi,remi-php80 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-cli php-common php-mysql php-pear php-process php-pear php-fpm php-intl php-pecl-apcu
インストール:
php.x86_64 0:8.0.30-6.el7.remi
php-cli.x86_64 0:8.0.30-6.el7.remi
php-common.x86_64 0:8.0.30-6.el7.remi
php-devel.x86_64 0:8.0.30-6.el7.remi
php-fpm.x86_64 0:8.0.30-6.el7.remi
php-gd.x86_64 0:8.0.30-6.el7.remi
php-intl.x86_64 0:8.0.30-6.el7.remi
php-mbstring.x86_64 0:8.0.30-6.el7.remi
php-mysqlnd.x86_64 0:8.0.30-6.el7.remi
php-pdo.x86_64 0:8.0.30-6.el7.remi
php-pear.noarch 1:1.10.15-3.el7.remi
php-pecl-apcu.x86_64 0:5.1.23-1.el7.remi.8.0
php-pecl-mcrypt.x86_64 0:1.0.7-1.el7.remi.8.0
php-process.x86_64 0:8.0.30-6.el7.remi
php-xml.x86_64 0:8.0.30-6.el7.remi
依存性関連をインストールしました:
php-sodium.x86_64 0:8.0.30-6.el7.remi
完了しました!
#現在インストールされているPHPファイルが8にupしたことを確認。
[root@eycwl8s4 ~]# rpm -qa | grep php
php-process-8.0.30-6.el7.remi.x86_64
php-gd-8.0.30-6.el7.remi.x86_64
php-8.0.30-6.el7.remi.x86_64
php-pecl-apcu-5.1.23-1.el7.remi.8.0.x86_64
oniguruma5php-6.9.7.1-1.el7.remi.x86_64
php-cli-8.0.30-6.el7.remi.x86_64
php-sodium-8.0.30-6.el7.remi.x86_64
php-devel-8.0.30-6.el7.remi.x86_64
php-mbstring-8.0.30-6.el7.remi.x86_64
gd3php-2.3.3-7.el7.remi.x86_64
php-common-8.0.30-6.el7.remi.x86_64
php-pdo-8.0.30-6.el7.remi.x86_64
php-pear-1.10.15-3.el7.remi.noarch
php-fpm-8.0.30-6.el7.remi.x86_64
php-mysqlnd-8.0.30-6.el7.remi.x86_64
php-intl-8.0.30-6.el7.remi.x86_64
php-xml-8.0.30-6.el7.remi.x86_64
php-pecl-mcrypt-1.0.7-1.el7.remi.8.0.x86_64
#Nginxではphp-fpmを使っているので、これをstartさせないとWordPress等は動かない。
[root@eycwl8s4 ~]# systemctl start php-fpm
#自動起動をONにする。
[root@eycwl8s4 ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/
system/php-fpm.service.
#アップロードファイルの容量が2Mに戻っているので、php.iniも再設定。
[root@eycwl8s4 ~]# vi /etc/php.ini
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
…
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
; メールの最大サイズ8Mを118Mにした例
post_max_size = 118M
…
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
…
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
; 添付ファイルの最大サイズ2Mを112Mにした例
upload_max_filesize = 112M
#Nginxとphp-fpmを再起動
[root@eycwl8s4 ~]# systemctl restart nginx php-fpm |
WordPressやMediaWikiが使える事を確認できれば、PHPのバージョンアップは無事終了。