3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon Linux 2 で PHP 7.2 から 7.4 へアップデートする

Last updated at Posted at 2021-02-03

きっかけ

Laravel Passport を Laravel 6.0.4 へインストールする際に色々とはまって(PHP 7.2 から 7.4 にアップデートする必要があり)丸一日かかってしまったので、被害者がこれ以上増えないように記事にしました。

やり方

現在有効になっている PHP バージョンを確認する

amazon-linux-extras(Amazon Linux 2 から使えるパッケージ管理ツール)の実行結果から現在 enable になっているバージョンを確認します。

以下の例では 7.2 になっていることがわかります。

$ amazon-linux-extras | grep php
 15  php7.2=latest            enabled      \
 17  lamp-mariadb10.2-php7.2  available    \
  _  php7.3                   available    \
  _  php7.4                   available    [ =stable ]

実際に php のバージョンを確認すると、以下のような結果となります。

$ php -v
PHP 7.2.24 (cli) (built: Oct 31 2019 18:27:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

有効になっている PHP 7.2 を無効にする

ここの手順がすごい重要です。

ま、簡単なことですが。

$ sudo amazon-linux-extras disable php7.2
Beware that disabling topics is not supported after they are installed.
(たくさん表示されるので割愛)

最新の PHP 7.4 を有効にする

無事 php7.2disable になっていることを確認後に、今度は php7.4 を有効化します。

$ amazon-linux-extras enable php7.4
You lack permissions to write to system configuration.  /etc/yum.repos.d/amzn2-extras.repo
$ sudo amazon-linux-extras enable php7.4

なお、特権(root)が必要です。参考までに一般アカウントでの実行結果も貼っておきます。
(個人的に思うことなんですけど、世の中の記事は大半が sudo を必要としていない場面で使っていますね、あれやめてほしい)

PHP 7.4 をインストールする

さて、やっと本題です。

このやり方も色々と紹介されており、めちゃくちゃ混乱したのですが amazon-linux-extras 一択でいきましょう。

$ sudo amazon-linux-extras install php7.4
(たくさん表示されるので割愛)

PHP 7.4 にアップデートされたかを確認する

$ amazon-linux-extras | grep php
  _  php7.2                   available    \
  _  lamp-mariadb10.2-php7.2  available    \
  _  php7.3                   available    \
 42  php7.4=latest            enabled      [ =stable ]

無事 php7.4=latestenable になっていることが確認されました。

では、最後。

$ php -v
PHP 7.4.14 (cli) (built: Jan 14 2021 20:52:40) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

以上です。

今回は触れませんでしたが、これで Laravel 6.20.16 に無事アップデートできました。(いや、このためにやったんですけどね)

$ php artisan -V
Laravel Framework 6.20.16
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?