WordPress | PHP7.4への更新

2022年9月13日

WordPressにログインすると,以下通知「PHPの更新を推奨」がされていた.そのため,PHPの更新方法を以下に記す.

画像に alt 属性が指定されていません。ファイル名: 220909_2_1.png

更新方法については,以下サイトを参照にした.上記の"PHPの更新についてさらに詳しく"をクリックすると以下URLにアクセスできる.

WordPress | サポート

PHP更新前の準備

バックアップの作成

WordPressでのバックアップのプラグインをインストールする.そのため,WordPressにログインし,以下"プラグイン"から"新規追加"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_2.png

以下画面に遷移するので,検索バーに"updraftPlus WordPress Backup Plugin"を入力すると,該当するプラグインが出現するので,"今すぐインストール"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_3-1024x369.png

インストール後,"有効化"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_4.png

以下画面に遷移するので,"スタートするにはここをクリック"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_5-1024x347.png

以下画面に遷移するので,"最初のバックアップ"の"次へ"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_6-1024x518.png

以下のように,"設定"タブの画面に遷移するので,ここで設定をする.私の場合,保存先の選択を"Dropbox"にした.

画像に alt 属性が指定されていません。ファイル名: 220909_2_7-1024x515.png

設定をしながらスクロールダウンしていき,最下部にて"変更を保存"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_8-1024x479.png

以下のように,"バックアップ/復元"タブに移動し,"今すぐバックアップ"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_9-1024x530.png

以下画面が出現するので,希望する項目にチェックを入れ,"今すぐバックアップ"をクリックする.私の場合,以下にチェックを入れて進めた.

画像に alt 属性が指定されていません。ファイル名: 220909_2_10.png

以下のようにバックアップが進む.何度かバックアップが成功しなかった.最終的に成功したときには,5分もかからずバックアップが完了した.

画像に alt 属性が指定されていません。ファイル名: 220909_2_11-1024x527.png

バックアップが完了すると,以下のような表示になる.

画像に alt 属性が指定されていません。ファイル名: 220909_2_12-1024x299.png

PHPの互換性をチェック

WordPressの"プラグイン"から"新規追加"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_13.png

以下画面に遷移するので,検索バーに"PHP Compatibility Checker"を入力し,該当するプラグインの"今すぐインストール"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_14-1024x372.png

以下画面の"有効化"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_15.png

以下画面に遷移するので,インストールした"PHP Compatibility Checker"の"スキャンを開始"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_16-1024x211.png

以下画面に遷移するので,該当する項目にチェックを入れ,"サイトをスキャン"をクリックする.私の場合,以下項目にチェックを入れた.

画像に alt 属性が指定されていません。ファイル名: 220909_2_17-1024x517.png

スキャン終了後,以下のように,"PHP 7.3 互換性のスキャン結果"が出力する.私の場合,すべての項目で"互換性あり"だったため,PHPの更新に入る.

画像に alt 属性が指定されていません。ファイル名: 220909_2_18-1024x617.png

PHPの更新方法

Tera Termを開く.

画像に alt 属性が指定されていません。ファイル名: 220909_2_19.png

以下画面が出現するので,IP Addressを入力し,"OK"をクリックする.

画像に alt 属性が指定されていません。ファイル名: 220909_2_20.png

以下画面に遷移する.

画像に alt 属性が指定されていません。ファイル名: 220909_2_21.png

以下コマンドを実行すると,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

参照

WordPress | サポート

ハマログ | Amazon Linux 2のExtras LibraryでインストールしたPHP7.2をPHP7.4に変更する

以上

WordPressPHP7.4

Posted by クマガイ