🐘

Amazon Linux 2のPHPバージョンを7.3から7.4に上げたメモ

2022/09/06に公開

Amazon Linux 2のPHPバージョンを7.3から7.4に上げたメモです。

使っているのは公式のamazon-linux-extrasからになります。

お試し

試しにそのまま何もせずにenableにできるのかやってみる。

$ sudo amazon-linux-extras enable php7.4
Refusing because php7.4 could cause an invalid combination.

無理っぽい。やはり一度前のバージョンをdisableしないと駄目なようだ。

既存のPHPを無効化する

この環境ではPHP7.3を使っていたので、7.3をdisabledする。

$ sudo amazon-linux-extras disable php7.3
Beware that disabling topics is not supported after they are installed.
.
.
.
* Extra topic has reached end of support.

PHP7.4を有効化する

PHP7.4を入れていく。

$ sudo amazon-linux-extras enable php7.4
.
.
.
* Extra topic has reached end of support.

Now you can install:
 # yum clean metadata
 # yum install php-cli php-pdo php-fpm php-json php-mysqlnd

最後にあなたはこれインストールできるよ。って言われたので念の為言われたのもやっておく。

$ sudo yum clean metadata
$ sudo yum install -y php-cli php-pdo php-fpm php-json php-mysqlnd

確認

$ php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'newrelic.so' (tried: /usr/lib64/php/modules/newrelic.so (/usr/lib64/php/modules/newrelic.so: undefined symbol: add_next_index_zval), /usr/lib64/php/modules/newrelic.so.so (/usr/lib64/php/modules/newrelic.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
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
    with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies

どうやらこの環境ではnewrelicがあったようで、エージェントのバージョンが古く警告が出ていた。
なのでバージョンをあげよう。

newrelicのバージョンを上げる

$ sudo yum update -y newrelic-php5

再度確認。

$ php -v
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
    with Zend OPcache v7.4.30, Copyright (c), by Zend Technologies

これで良さそうだ。

Discussion