WordPress | PHP7.4への更新
WordPressにログインすると,以下通知「PHPの更新を推奨」がされていた.そのため,PHPの更新方法を以下に記す.
更新方法については,以下サイトを参照にした.上記の"PHPの更新についてさらに詳しく"をクリックすると以下URLにアクセスできる.
PHP更新前の準備
バックアップの作成
WordPressでのバックアップのプラグインをインストールする.そのため,WordPressにログインし,以下"プラグイン"から"新規追加"をクリックする.
以下画面に遷移するので,検索バーに"updraftPlus WordPress Backup Plugin"を入力すると,該当するプラグインが出現するので,"今すぐインストール"をクリックする.
インストール後,"有効化"をクリックする.
以下画面に遷移するので,"スタートするにはここをクリック"をクリックする.
以下画面に遷移するので,"最初のバックアップ"の"次へ"をクリックする.
以下のように,"設定"タブの画面に遷移するので,ここで設定をする.私の場合,保存先の選択を"Dropbox"にした.
設定をしながらスクロールダウンしていき,最下部にて"変更を保存"をクリックする.
以下のように,"バックアップ/復元"タブに移動し,"今すぐバックアップ"をクリックする.
以下画面が出現するので,希望する項目にチェックを入れ,"今すぐバックアップ"をクリックする.私の場合,以下にチェックを入れて進めた.
以下のようにバックアップが進む.何度かバックアップが成功しなかった.最終的に成功したときには,5分もかからずバックアップが完了した.
バックアップが完了すると,以下のような表示になる.
PHPの互換性をチェック
WordPressの"プラグイン"から"新規追加"をクリックする.
以下画面に遷移するので,検索バーに"PHP Compatibility Checker"を入力し,該当するプラグインの"今すぐインストール"をクリックする.
以下画面の"有効化"をクリックする.
以下画面に遷移するので,インストールした"PHP Compatibility Checker"の"スキャンを開始"をクリックする.
以下画面に遷移するので,該当する項目にチェックを入れ,"サイトをスキャン"をクリックする.私の場合,以下項目にチェックを入れた.
スキャン終了後,以下のように,"PHP 7.3 互換性のスキャン結果"が出力する.私の場合,すべての項目で"互換性あり"だったため,PHPの更新に入る.
PHPの更新方法
Tera Termを開く.
以下画面が出現するので,IP Addressを入力し,"OK"をクリックする.
以下画面に遷移する.
以下コマンドを実行すると,PHPのバージョン(PHP 7.3.33)を確認することができる.
“php -v"
$ php -v
PHP 7.3.33 (cli) (built: Dec 17 2021 04:06:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
以下コマンドを実行し,PHPをダウンロードする.
“sudo yum install php"
$ sudo yum install php
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-comp lete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removin g/installing packages by hand (maybe package-cleanup can help).
--> Running transaction check
---> Package php.x86_64 0:7.3.33-2.amzn2 will be installed
--> Processing Dependency: php-common(x86-64) = 7.3.33-2.amzn2 for package: php- 7.3.33-2.amzn2.x86_64
--> Processing Dependency: php-cli(x86-64) = 7.3.33-2.amzn2 for package: php-7.3 .33-2.amzn2.x86_64
--> Running transaction check
---> Package php-cli.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-cli.x86_64 0:7.3.33-2.amzn2 will be an update
---> Package php-common.x86_64 0:7.3.33-1.amzn2 will be updated
--> Processing Dependency: php-common(x86-64) = 7.3.33-1.amzn2 for package: php- json-7.3.33-1.amzn2.x86_64
--> Processing Dependency: php-common(x86-64) = 7.3.33-1.amzn2 for package: php- mbstring-7.3.33-1.amzn2.x86_64
--> Processing Dependency: php-common(x86-64) = 7.3.33-1.amzn2 for package: php- pdo-7.3.33-1.amzn2.x86_64
--> Processing Dependency: php-common(x86-64) = 7.3.33-1.amzn2 for package: php- gd-7.3.33-1.amzn2.x86_64
--> Processing Dependency: php-common(x86-64) = 7.3.33-1.amzn2 for package: php- fpm-7.3.33-1.amzn2.x86_64
---> Package php-common.x86_64 0:7.3.33-2.amzn2 will be an update
--> Running transaction check
---> Package php-fpm.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-fpm.x86_64 0:7.3.33-2.amzn2 will be an update
---> Package php-gd.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-gd.x86_64 0:7.3.33-2.amzn2 will be an update
---> Package php-json.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-json.x86_64 0:7.3.33-2.amzn2 will be an update
---> Package php-mbstring.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-mbstring.x86_64 0:7.3.33-2.amzn2 will be an update
---> Package php-pdo.x86_64 0:7.3.33-1.amzn2 will be updated
--> Processing Dependency: php-pdo(x86-64) = 7.3.33-1.amzn2 for package: php-mys qlnd-7.3.33-1.amzn2.x86_64
---> Package php-pdo.x86_64 0:7.3.33-2.amzn2 will be an update
--> Running transaction check
---> Package php-mysqlnd.x86_64 0:7.3.33-1.amzn2 will be updated
---> Package php-mysqlnd.x86_64 0:7.3.33-2.amzn2 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 3.2 M
Updating for dependencies:
php-cli x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 4.8 M
php-common x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 1.1 M
php-fpm x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 1.7 M
php-gd x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 191 k
php-json x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 71 k
php-mbstring x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 511 k
php-mysqlnd x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 236 k
php-pdo x86_64 7.3.33-2.amzn2 amzn2extra-php7.3 132 k
Transaction Summary
================================================================================
Install 1 Package
Upgrade ( 8 Dependent packages)
Total download size: 12 M
Is this ok [y/d/N]: y
その後,以下コマンドを実行すると,PHPのバージョンを確認するが,変わらず,PHP 7.3.33だった.
“php -v"
$ php -v
PHP 7.3.33 (cli) (built: Aug 11 2022 19:55:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
私は以下コマンドで既存のPHPを削除し,おそらくこれが原因でWordPressに重大なエラーをしてしまった.そのため,削除せずに進めることを勧める.
$ sudo yum remove php*
以下コマンドで確認すると,PHP7.3が"enabled"になっていた.
$ sudo amazon-linux-extras list | grep php
31 *php7.3=latest enabled \
_ php7.4 available [ =stable ]
_ php8.0 available [ =stable ]
以下コマンドで,php7.3を"disable"にした.
$ sudo amazon-linux-extras disable php7.3
以下コマンドで確認すると,PHP7.3が消えた.
$ sudo amazon-linux-extras list | grep php
42 php7.4 available [ =stable ]
51 php8.0 available [ =stable ]
以下コマンドで,php7.4を"enable"にする.
$ sudo amazon-linux-extras enable php7.4
0 ansible2 available \
[ =2.4.2 =2.4.6 =2.8 =stable ]
2 httpd_modules available [ =1.0 =stable ]
3 memcached1.5 available \
[ =1.5.1 =1.5.16 =1.5.17 ]
5 postgresql9.6 available \
[ =9.6.6 =9.6.8 =stable ]
6 postgresql10 available [ =10 =stable ]
9 R3.4 available [ =3.4.3 =stable ]
10 rust1 available \
[ =1.22.1 =1.26.0 =1.26.1 =1.27.2 =1.31.0 =1.38.0
=stable ]
11 vim available [ =8.0 =stable ]
18 libreoffice available \
[ =5.0.6.2_15 =5.3.6.1 =stable ]
19 gimp available [ =2.8.22 ]
20 docker=latest enabled \
[ =17.12.1 =18.03.1 =18.06.1 =18.09.9 =stable ]
21 mate-desktop1.x available \
[ =1.19.0 =1.20.0 =stable ]
22 GraphicsMagick1.3 available \
[ =1.3.29 =1.3.32 =1.3.34 =stable ]
23 tomcat8.5 available \
[ =8.5.31 =8.5.32 =8.5.38 =8.5.40 =8.5.42 =8.5.50
=stable ]
24 epel=latest enabled [ =7.11 =stable ]
25 testing available [ =1.0 =stable ]
26 ecs available [ =stable ]
27 corretto8 available \
[ =1.8.0_192 =1.8.0_202 =1.8.0_212 =1.8.0_222 =1.8.0_232
=1.8.0_242 =stable ]
28 firecracker available [ =0.11 =stable ]
29 golang1.11 available \
[ =1.11.3 =1.11.11 =1.11.13 =stable ]
30 squid4 available [ =4 =stable ]
32 lustre2.10 available \
[ =2.10.5 =2.10.8 =stable ]
33 java-openjdk11 available [ =11 =stable ]
34 lynis available [ =stable ]
36 BCC available [ =0.x =stable ]
37 mono available [ =5.x =stable ]
38 nginx1 available [ =stable ]
39 ruby2.6 available [ =2.6 =stable ]
40 mock available [ =stable ]
41 postgresql11 available [ =11 =stable ]
42 php7.4=latest enabled [ =stable ]
43 livepatch available [ =stable ]
44 python3.8 available [ =stable ]
45 haproxy2 available [ =stable ]
46 collectd available [ =stable ]
47 aws-nitro-enclaves-cli available [ =stable ]
48 R4 available [ =stable ]
_ kernel-5.4 available [ =stable ]
50 selinux-ng available [ =stable ]
_ php8.0 available [ =stable ]
52 tomcat9 available [ =stable ]
53 unbound1.13 available [ =stable ]
54 mariadb10.5 available [ =stable ]
55 kernel-5.10=latest enabled [ =stable ]
56 redis6 available [ =stable ]
57 ruby3.0 available [ =stable ]
58 postgresql12 available [ =stable ]
59 postgresql13 available [ =stable ]
60 mock2 available [ =stable ]
61 dnsmasq2.85 available [ =stable ]
62 kernel-5.15 available [ =stable ]
63 postgresql14 available [ =stable ]
64 firefox available [ =stable ]
65 lustre available [ =stable ]
Now you can install:
# yum clean metadata
# yum install php-cli php-pdo php-fpm php-json php-mysqlnd
上記コマンドの最下部に以下をインストールすることができるというコメントがあるので,以下コマンドを実行する.
“# yum clean metadata"
“# yum install php-cli php-pdo php-fpm php-json php-mysqlnd"
$ yum clean metadata
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-epel
: amzn2extra-kernel-5.10 amzn2extra-php7.4 epel remi-safe
18 metadata files removed
12 sqlite files removed
0 metadata files removed
$ yum install php-cli php-pdo php-fpm php-json php-mysqlnd
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
You need to be root to perform this command.
[ec2-user@ip-172-31-37-234 ~]$ sudo yum install php-cli php-pdo php-fpm php-json
php-mysqlnd
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
amzn2extra-docker | 3.0 kB 00:00
amzn2extra-epel | 3.0 kB 00:00
amzn2extra-kernel-5.10 | 3.0 kB 00:00
amzn2extra-php7.4 | 3.0 kB 00:00
(1/2): amzn2extra-php7.4/2/x86_64/updateinfo | 76 B 00:00
(2/2): amzn2extra-php7.4/2/x86_64/primary_db | 356 kB 00:00
253 packages excluded due to repository priority protections
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> Running transaction check
---> Package php-cli.x86_64 0:7.4.30-1.amzn2 will be installed
--> Processing Dependency: php-common(x86-64) = 7.4.30-1.amzn2 for package: php-cli-7.4.30-1.amzn2.x86_64
---> Package php-fpm.x86_64 0:7.4.30-1.amzn2 will be installed
---> Package php-json.x86_64 0:7.4.30-1.amzn2 will be installed
---> Package php-mysqlnd.x86_64 0:7.4.30-1.amzn2 will be installed
---> Package php-pdo.x86_64 0:7.4.30-1.amzn2 will be installed
--> Running transaction check
---> Package php-common.x86_64 0:7.4.30-1.amzn2 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php-cli x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 4.9 M
php-fpm x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 1.7 M
php-json x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 71 k
php-mysqlnd x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 241 k
php-pdo x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 134 k
Installing for dependencies:
php-common x86_64 7.4.30-1.amzn2 amzn2extra-php7.4 1.1 M
Transaction Summary
================================================================================
Install 5 Packages (+1 Dependent package)
Total download size: 8.2 M
Installed size: 39 M
Is this ok [y/d/N]: y
Downloading packages:
(1/6): php-common-7.4.30-1.amzn2.x86_64.rpm | 1.1 MB 00:00
(2/6): php-fpm-7.4.30-1.amzn2.x86_64.rpm | 1.7 MB 00:00
(3/6): php-cli-7.4.30-1.amzn2.x86_64.rpm | 4.9 MB 00:00
(4/6): php-json-7.4.30-1.amzn2.x86_64.rpm | 71 kB 00:00
(5/6): php-pdo-7.4.30-1.amzn2.x86_64.rpm | 134 kB 00:00
(6/6): php-mysqlnd-7.4.30-1.amzn2.x86_64.rpm | 241 kB 00:00
--------------------------------------------------------------------------------
Total 28 MB/s | 8.2 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php-common-7.4.30-1.amzn2.x86_64 1/6
Installing : php-json-7.4.30-1.amzn2.x86_64 2/6
Installing : php-pdo-7.4.30-1.amzn2.x86_64 3/6
Installing : php-mysqlnd-7.4.30-1.amzn2.x86_64 4/6
Installing : php-cli-7.4.30-1.amzn2.x86_64 5/6
Installing : php-fpm-7.4.30-1.amzn2.x86_64 6/6
Verifying : php-json-7.4.30-1.amzn2.x86_64 1/6
Verifying : php-mysqlnd-7.4.30-1.amzn2.x86_64 2/6
Verifying : php-cli-7.4.30-1.amzn2.x86_64 3/6
Verifying : php-pdo-7.4.30-1.amzn2.x86_64 4/6
Verifying : php-common-7.4.30-1.amzn2.x86_64 5/6
Verifying : php-fpm-7.4.30-1.amzn2.x86_64 6/6
Installed:
php-cli.x86_64 0:7.4.30-1.amzn2 php-fpm.x86_64 0:7.4.30-1.amzn2
php-json.x86_64 0:7.4.30-1.amzn2 php-mysqlnd.x86_64 0:7.4.30-1.amzn2
php-pdo.x86_64 0:7.4.30-1.amzn2
Dependency Installed:
php-common.x86_64 0:7.4.30-1.amzn2
Complete!
以下コマンドでPHPのバージョンを確認すると,PHP7.4.30をインストールすることができた.
$ php --version
PHP 7.4.30 (cli) (built: Jun 23 2022 20:19:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
参照
ハマログ | Amazon Linux 2のExtras LibraryでインストールしたPHP7.2をPHP7.4に変更する
以上