AMAZON linux2 php7.3インストール
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には無い可能性があるのかなぁ。
インストール要件のphpモジュール
- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- PDO
- Tokenizer
- XML
- MySQL
- GD
- devel
- mcrypt
上記の中でamzn2extra-php7.3で確実にインストールできたと思われるモジュール
- BCMath
- JSON
- Mbstring
- PDO
- XML
- MySQL
- GD
いずれ、remiとamzn2extra混合でカオスになる
開発していくうちに、Laravelやら node.jsやら その他インストールしていくとremiも増えます。なので、どこのリポジトリからphp7.3モジュールを持ってこようが、もう気にしない。