Help us understand the problem. What is going on with this article?

Amazon linux 2でのphpの更新方法

症状

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) を実行しています

になったので完了!

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away