☝️
PHP7.4からPHP8.1へバージョンアップした - EC2(Amazon Linux2)/ Nginx
パッケージのアップデート
$ sudo yum update -y
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:4.14.301-224.520.amzn2 を インストール
---> パッケージ kernel-headers.x86_64 0:4.14.299-223.520.amzn2 を 更新
---> パッケージ kernel-headers.x86_64 0:4.14.301-224.520.amzn2 を アップデート
---> パッケージ kernel-tools.x86_64 0:4.14.299-223.520.amzn2 を 更新
.......
削除しました:
kernel.x86_64 0:4.14.296-222.539.amzn2
インストール:
kernel.x86_64 0:4.14.301-224.520.amzn2 python2-colorama.noarch 0:0.3.9-3.amzn2.0.1 python2-six.noarch 0:1.11.0-8.amzn2.0.1
更新:
kernel-headers.x86_64 0:4.14.301-224.520.amzn2 kernel-tools.x86_64 0:4.14.301-224.520.amzn2 python2-dateutil.noarch 1:2.6.1-3.amzn2
python2-jmespath.noarch 0:0.9.3-1.amzn2.0.2 python2-jsonschema.noarch 0:2.5.1-3.amzn2.0.2 python2-pyasn1.noarch 0:0.1.9-7.amzn2.0.2
python2-rsa.noarch 0:3.4.1-1.amzn2.0.3
置換:
python-colorama.noarch 0:0.3.2-3.amzn2 python-six.noarch 0:1.9.0-2.amzn2
完了しました!
PHPのバージョンアップ
現在のPHPのバージョン確認
$ php -v
PHP 7.4.33 (cli) (built: Nov 19 2022 00:22:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
PHP7.4のアンインストール
インストールされているPHPのパッケージをすべてアンインストール
$ sudo yum -y remove php-*
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-cli.x86_64 0:7.4.33-1.amzn2 を 削除
---> パッケージ php-common.x86_64 0:7.4.33-1.amzn2 を 削除
---> パッケージ php-fpm.x86_64 0:7.4.33-1.amzn2 を 削除
---> パッケージ php-gd.x86_64 0:7.4.33-1.amzn2 を 削除
.......
削除中 : php-mysqlnd-7.4.33-1.amzn2.x86_64 6/9
削除中 : php-pdo-7.4.33-1.amzn2.x86_64 7/9
削除中 : php-json-7.4.33-1.amzn2.x86_64 8/9
削除中 : php-common-7.4.33-1.amzn2.x86_64 9/9
検証中 : php-pdo-7.4.33-1.amzn2.x86_64 1/9
検証中 : php-common-7.4.33-1.amzn2.x86_64 2/9
検証中 : php-json-7.4.33-1.amzn2.x86_64 3/9
検証中 : php-mysqlnd-7.4.33-1.amzn2.x86_64 4/9
検証中 : php-mbstring-7.4.33-1.amzn2.x86_64 5/9
検証中 : php-cli-7.4.33-1.amzn2.x86_64 6/9
検証中 : php-fpm-7.4.33-1.amzn2.x86_64 7/9
検証中 : php-gd-7.4.33-1.amzn2.x86_64 8/9
検証中 : php-xml-7.4.33-1.amzn2.x86_64 9/9
削除しました:
php-cli.x86_64 0:7.4.33-1.amzn2 php-common.x86_64 0:7.4.33-1.amzn2 php-fpm.x86_64 0:7.4.33-1.amzn2 php-gd.x86_64 0:7.4.33-1.amzn2
php-json.x86_64 0:7.4.33-1.amzn2 php-mbstring.x86_64 0:7.4.33-1.amzn2 php-mysqlnd.x86_64 0:7.4.33-1.amzn2 php-pdo.x86_64 0:7.4.33-1.amzn2
php-xml.x86_64 0:7.4.33-1.amzn2
完了しました!
PHPのファイルが存在しない確認
$ php -v
-bash: /usr/bin/php: No such file or directory
PHP8.1をインストール
amazon-linux-extras をアップデート
$ sudo yum update -y amazon-linux-extras
amazon-linux-extras で利用可能なパッケージを確認する
$ amazon-linux-extras
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 ]
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
.......
34 lynis available [ =stable ]
36 BCC available [ =0.x =stable ]
37 mono available [ =5.x =stable ]
38 nginx1=latest enabled [ =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 ]
.......
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 ]
_ php8.1 available [ =stable ]
67 awscli1 available [ =stable ]
php7.4を停止して、php8.1を有効にする
php7.4の停止
$ sudo amazon-linux-extras disable 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 ]
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 ]
........
34 lynis available [ =stable ]
36 BCC available [ =0.x =stable ]
37 mono available [ =5.x =stable ]
38 nginx1=latest enabled [ =stable ]
39 ruby2.6 available [ =2.6 =stable ]
40 mock available [ =stable ]
41 postgresql11 available [ =11 =stable ]
42 php7.4 available [ =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 ]
........
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 ]
66 php8.1 available [ =stable ]
67 awscli1 available [ =stable ]
php7.4が停止し、php8.1が利用できるようになった。
php8.1の使用
$ sudo amazon-linux-extras enable php8.1
........
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 ]
66 php8.1=latest enabled [ =stable ]
67 awscli1 available [ =stable ]
Now you can install:
# yum clean metadata
# yum install php-cli php-pdo php-fpm php-json php-mysqlnd
それぞれコマンドを実行するように記載があるので実行する
$ sudo yum clean metadata
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
リポジトリーを清掃しています: amzn2-core amzn2extra-docker amzn2extra-nginx1 amzn2extra-php8.1
17 個の metadata ファイルを削除しました
6 個の sqlite ファイルを削除しました
0 個の metadata ファイルを削除しました
$ sudo yum install php-cli php-pdo php-fpm php-json php-mysqlnd
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
amzn2extra-docker | 3.0 kB 00:00:00
amzn2extra-nginx1 | 3.0 kB 00:00:00
amzn2extra-php8.1 | 3.0 kB 00:00:00
(1/9): amzn2-core/2/x86_64/group_gz | 2.5 kB 00:00:00
(2/9): amzn2-core/2/x86_64/updateinfo | 539 kB 00:00:00
(3/9): amzn2extra-nginx1/2/x86_64/primary_db | 56 kB 00:00:00
(4/9): amzn2extra-php8.1/2/x86_64/updateinfo
........
検証中 : php-pdo-8.1.12-1.amzn2.x86_64 2/5
検証中 : php-common-8.1.12-1.amzn2.x86_64 3/5
検証中 : php-fpm-8.1.12-1.amzn2.x86_64 4/5
検証中 : php-cli-8.1.12-1.amzn2.x86_64 5/5
インストール:
php-cli.x86_64 0:8.1.12-1.amzn2 php-common.x86_64 0:8.1.12-1.amzn2 php-fpm.x86_64 0:8.1.12-1.amzn2 php-mysqlnd.x86_64 0:8.1.12-1.amzn2
php-pdo.x86_64 0:8.1.12-1.amzn2
完了しました!
PHP8.1がインストールされているかバージョン確認
$ php -v
PHP 8.1.12 (cli) (built: Oct 31 2022 22:06:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.12, Copyright (c) Zend Technologies
nginx と php-fpm のリスタート
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm.service
完了!
WordPressサイトヘルスでも変更を確認!
Discussion