phpモジュールのインストールは年に1回くらいのペースで遭遇しますが毎回カオスになります。
AMAZON linux2のphp7.3はremiリポジトリとamzn2extra(-php7.3)リポジトリがある。その他には、たぶんepelもある(一切使わず)。ググって最初にremiの記事しか出てきていないかったので最初はremiでやったのですが(remiのインストールコマンドはググって下さい)、AWSのほうがメンテナンスしっかりやってくれそうなイメージがあるから、amzn2extraのphp7.3モジュールに全部やりなおしました。
そのため、途中でremiを
yum remove php php-*
yum remove php73 php73-*
で全部削除してamzn2extra-php7.3のモジュールを以下の手順で入れた。
sudo yum install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
sudo yum install --enablerepo=remi,remi-php73 php
sudo amazon-linux-extras enable php7.3
sudo yum clean metadata
sudo yum install php php-{common,curl,mbstring,gd,mysqlnd,bcmath,json,xml,fpm,ctype,fileinfo,openssl,tokenizer}
しかし、remiのモジュールがきちんと全部削除されたかどうか、怪しい感じもあります。この段階でphpinfo(); で確認すると入れたいphpモジュールは全部入ってることを確認できました。ですが、以下のphpモジュール確認コマンド
yum list installed | grep php
php -m
では表示されないモジュールがあり、phpinfo(); との相違が気になる。
尚、apache2.4の再起動やっても同じ現象は起きました。
sudo service httpd restart
phpモジュールについてはマイナーなものだとamzn2extraには無い可能性があるのかなぁ。
開発していくうちに、Laravelやら node.jsやら その他インストールしていくとremiも増えます。なので、どこのリポジトリからphp7.3モジュールを持ってこようが、もう気にしない。