症状
WordPressの管理者画面のサイトヘルスにphpのバージョンを7.3以上に上げてよ、という「おすすめの改善」が出てしまった。
環境
- AWS
- Amazon linux 2 t2.micro
- php7.2.30
- WordPress
やりたいこと
phpをバージョンアップする。なんかよく分かんないし、最新にしちゃえ。
やったこと
現在のバージョンを確認する
$ php -v
PHP 7.2.30 (cli) (built: May 5 2020 18:04:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
WordPressで怒られたとおり。古い。
SSHを使用して、AWS EC2 Linuxインスタンスに接続
いつもの方法で。macのターミナルを使いました。
参考:Connecting to your Linux instance using SSH
amazon-linux-extrasをインストール (済んでいれば飛ばしてOK)
which コマンドを使用して、amazon-linux-extras パッケージがインストールされていることを確認する。
$ which amazon-linux-extras
/usr/bin/amazon-linux-extras
amazon-linux-extras パッケージがインストールされていない場合は、yum を使用してインストールする。
$ sudo yum install -y amazon-linux-extras
利用可能なトピックのリストを表示
$ amazon-linux-extras
# 省略
13 ruby2.4 available \
[ =2.4.2 =2.4.4 =2.4.7 =stable ]
_ php7.2 available \
[ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14
=7.2.16 =7.2.17 =7.2.19 =7.2.21 =7.2.22 =7.2.23
=7.2.24 =7.2.26 =stable ]
_ lamp-mariadb10.2-php7.2 available \
[ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5
=10.2.10_7.2.8 =10.2.10_7.2.11 =10.2.10_7.2.13
=10.2.10_7.2.14 =10.2.10_7.2.16 =10.2.10_7.2.17
=10.2.10_7.2.19 =10.2.10_7.2.22 =10.2.10_7.2.23
=10.2.10_7.2.24 =stable ]
# 省略
30 squid4 available [ =4 =stable ]
_ php7.3 available \
[ =7.3.2 =7.3.3 =7.3.4 =7.3.6 =7.3.8 =7.3.9 =7.3.10
=7.3.11 =7.3.13 =stable ]
# 省略
42 php7.4 available [ =stable ]
# 省略
ずらずらと表示されるので、一部割愛しました。
この時点ではphp7.4がamazon-linux-extrasで使える最新のphpのようです。
php7.4を適用
まず、古いphp7.2を止める。
$ sudo amazon-linux-extras disable php7.2
php7.4を有効化する。
$ sudo amazon-linux-extras enable php7.4
# 省略
13 ruby2.4 available \
[ =2.4.2 =2.4.4 =2.4.7 =stable ]
_ php7.2 available \
[ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14
=7.2.16 =7.2.17 =7.2.19 =7.2.21 =7.2.22 =7.2.23
=7.2.24 =7.2.26 =stable ]
_ lamp-mariadb10.2-php7.2 available \
[ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5
=10.2.10_7.2.8 =10.2.10_7.2.11 =10.2.10_7.2.13
=10.2.10_7.2.14 =10.2.10_7.2.16 =10.2.10_7.2.17
=10.2.10_7.2.19 =10.2.10_7.2.22 =10.2.10_7.2.23
=10.2.10_7.2.24 =stable ]
# 省略
30 squid4 available [ =4 =stable ]
_ php7.3 available \
[ =7.3.2 =7.3.3 =7.3.4 =7.3.6 =7.3.8 =7.3.9 =7.3.10
=7.3.11 =7.3.13 =stable ]
# 省略
42 php7.4=latest enabled [ =stable ]
# 省略
Now you can install:
# yum clean metadata
# yum install php-cli php-pdo php-fpm php-json php-mysqlnd
トピックをインストール
上の "Now you can install:" の下2行をsudoする。1行ずつやってもいいが、&&でつないで実行する。
$ sudo yum clean metadata && yum install php-cli php-pdo php-fpm php-json php-mysqlnd
インストール検証とバージョン確認
$ yum list installed php-cli php-pdo php-fpm php-json php-mysqlnd
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
インストール済みパッケージ
php-cli.x86_64 7.4.5-1.amzn2 @amzn2extra-php7.4
php-fpm.x86_64 7.4.5-1.amzn2 @amzn2extra-php7.4
php-json.x86_64 7.4.5-1.amzn2 @amzn2extra-php7.4
php-mysqlnd.x86_64 7.4.5-1.amzn2 @amzn2extra-php7.4
php-pdo.x86_64 7.4.5-1.amzn2 @amzn2extra-php7.4
$ php -v
PHP 7.4.5 (cli) (built: Apr 23 2020 00:10:21) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
やったね!最後にhttpd.serviceを再起動する。
$ sudo systemctl restart httpd.service
WordPressの管理画面のサイトヘルスを確認すると、
サイトは現在のバージョンのPHP (7.4.5) を実行しています
になったので完了!