アマゾンのユーザーガイドでphp7.2とMysql互換のlamp-mariadb10.2-php7.2をインストールしました。
しかし、wordpressをインストールして、ダッシュボードを確認すると、現在のwordpressではphpのバージョンを7.4がデフォルトで、7.2では古いと警告が出ています。
ならば一旦それぞれをphpとmariaDBをremoveして、新たにインストールすればいいと思い、
[ec2-user]$sudo yum remove php*
と実行したあと、
[ec2-user]$sudo yum remove mariadb*
とすると、
︙
postfix x86_64 2:2.10.1-6.amzn2.0.3 installed
上記の処理を行います。よろしいでしょうか? [y/N]
というようにpostfixも同時に削除されてしまうのです。
postfixが内部でmariadbを使っているためで、依存関係にありました。
amazon-linux-extrasコマンドを利用してインストールしたときは、amazon-linux-extras listコマンドで、どのバージョンがenableになっているのかを確認し、disableにして、新しいバージョンをenabldeにすることで、アップデートできるようです。
早速php7.2をdisableにします。
[ec2-user]$sudo amazon-linux-extras disable php7.2
Refusing because php7.4 could cause an invalid combination.
しかし、このように拒否されます。理由はlamp-mariadb10.2-php7.2がenableだからです。なので、disableに変更します。
[ec2-user]$sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
これでphp7.4とmariadb10.5がインストールできるようになったのでそれぞれinstallします。
[ec2-user]$sudo amazon-linux-extras install php7.4
[ec2-user]$sudo amazon-linux-extras install mariadb10.5
phpとmariadbのバージョンを確認してみます。
[ec2-user]$php -v
PHP 7.4.26 (cli) (built: Dec 17 2021 16:07:39) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[ec2-user]user@computer$ mysql –version
mysql Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using EditLine wrapper
php7.4.26とmariadb10.5.10を確認できました。あとはsystemctlコマンドで起動すればOKです。
追記
mariadbはアップグレードしたら、mariadb-upgradeコマンドで、テーブルも更新する必要があります。
mysql_upgrade -u root -p
このあとパスワードを入力すれば、自動的に更新されます。
これを行っていなかったためサーバーエラーがありこちらの記事を書いています。