概要
AWSにてAmazon Linux 2のAMIでEC2を起動させると、PHP7.2の環境がインストールされている。
PHPのバージョンを上げたいが、どうやらAmazon Linux 2に搭載されているamazon-linux-etrasと呼ばれるCUIアプリでアップデートできるようだ。
今回は、amazon-linux-etrasを利用して、PHPのバージョンを7.4に挙げる方法を確認する。
amazon-linux-extrasって?
amazon-linux-extrasはAmazonLinux2にインストールされているパッケージを管理するツールのようだ。
yumコマンドの代わりに必要なパッケージをインストールすることができる。
利用できるコマンドは以下の通り。
- help
- list
- info
- install
helpコマンド
helpコマンドを入力すると、以下のように使えるコマンド一覧とamazon-linux-extrasとは何者なのかということを表示してくれる。
入力コマンド
$ amazon-linux-extras help
listコマンド
listコマンドは利用できるパッケージを表示してくれる。
実行結果は以下のような感じ。
入力コマンド
$ amazon-linux-extras list
infoコマンド
書くパッケージの詳細情報を表示するコマンド。
試しにvimの情報を確認してみる。
入力コマンド
$ amazon-linux-extras info vim
詳細情報といっても、yumで実行される情報が表示されるだけのようだ。
逆に言うと、何がインストールされるかわかればある程度何が行われているか確認できるということか。
install
パッケージをインストールするコマンド。
今回はこのコマンドを実行する。
早速PHP7.4をインストールしてみる
では早速PHP7.4をインストールしてみる。
7.2が入っていることを確認。
PHP 7.4をインストールするために、以下のコマンドを実行する。
$ amazon-linux-extras install php7.4
もともとあるモジュールと競合するからダメとの通達のようだ。
おそらくは、以下のモジュールが動作していることが原因だと考えられる。
PHP7.2をアンインストールする。
ではPHP7.2をアンインストールすればうまくいくのではないかと調査。
以下のページにて、アンインストールする方法が記載されていることを見つけた。
EC2(Amazon Linux2)でPHP8.0にバージョンアップしてLaravel8をインストール
早速試してみる。
まずはパッケージアップデート
$ sudo yum update -y
PHP関連のソフトを削除
$ sudo yum -y remove php-*
amazon-linux-extrasをアップデート
$ sudo yum update -y amazon-linux-extras
次にamazon-linux-extrasで利用中のlamp構成のインストールを無効にする。(disableなんてコマンドあったんだ。。。)
$ sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
enabledからavailavleになっていることを確認
最後にphp7.4をインストール。
$ sudo amazon-linux-extras install php7.4
php7.4がenableになっていることを確認。
また、バージョン情報からもアップデートされていることが確認できる。
ただ、xdebugのモジュールが読み込めないとエラーが出る。
どうやらxdebugのモジュールとPHPのバージョンが一致しないとエラーになるようだ。
以下のコマンドを実行することで解消できることを確認した。
$ sudo yum install php-pear
$ sudo yum install php-devel
$ sudo pecl install xdebug
最後に
何とかPHPのバージョンを上げることができた。
次はLaravelの開発環境を準備していく。