今回はEC2インスタンス上にPHPをインストールする手順について学習していきます。AWSのEC2インスタンス(Amazon Linux 2023)にSSH接続ができていて、基本的なLinuxコマンドが使えることが前提となります。基礎学習がまだの方は「EC2インスタンスの作成手順」と「Linuxの基礎コマンド」の記事を学習してから本記事を読み進めてください。
PHPのインストール
以下の手順に従ってPHPをインストールしていきましょう。
PHPをインストールするとWebサーバのApacheも一緒にインストールされます。
【システムのアップデート】
sudo dnf update -y
【インストール可能なPHPバージョンの確認】
sudo dnf list | grep php
->php8.3が最新だと分かる。
【PHPのインストール】
sudo dnf install php8.3 -y
【PHPとApacheのインストールの確認】
sudo dnf list installed httpd php8.3
->以下の表示のようにApacheとPHPがインストールされたのが確認できます。
-
httpd.x86_64
php8.3.x86_64
-
【簡易的なPHPのバージョンの表示】
php -v (--version)
追加モジュールのインストール
PHP用のMySQLドライバーも併せてインストールしておきましょう。
sudo dnf install php8.3-mysqlnd.x86_64 -y
インストールされたPHPモジュールの確認
php -m | less
ここでは以下のモジュールがなどあることを確認しておきましょう。
- curl
- mbstring
- PDO
- xml
- mysqli
コマンドラインからのPHPの実行
サンプルファイルを作成してターミナルからPHPの実行をしてみましょう。ここでは、Hello Worldの前後はシングルクオートではなくダブルクオートであることに注意してください。そして、Linuxの改行コードである「\n」があることにも注意しましょう。改行コードの詳細については「Linuxの基礎知識」を参考にしてください。
.phpファイルの作成
【以下のディレクトリに移動】
cd /var/www/html
【テストファイルを作成】
sudo vi hello-world.php
-
<?php
echo "Hello World\n";
?>
-
.phpファイルを実行する
以下のコマンドで.phpファイルを実行します。phpコマンドのパラメータとして.phpファイルを指定します。
php hello-world.php
->以下がターミナルに出力された成功です。
-
Hello World
-
ApacheサーバとPHPの連携
ここからはApache Webサーバを通してPHPを実行して、出力結果をブラウザに表示する手順を学習します。
ここではApacheをデフォルトの状態で起動するだけに留めておきます。Apacheサーバの詳細設定については「Apache(アパッチ)サーバのインストールと設定、そしてHTTPS化」の記事を参照してください。

Apacheサーバの起動
以下のコマンドでApacheを起動してください。
sudo systemctl start httpd
起動が完了したら、EC2インスタンスのIPもしくは関連付けたドメイン名をブラウザのURL欄に入力してみましょう。
ブラウザに「It works!」と表示されたApacheサーバは起動しています。
うまく表示されない場合は、EC2インスタンスの80番ポートに接続できていない可能性があります。「EC2セキュリティーグループの作成」の記事を参考にEC2インスタンスにセキュリティーグループを確認してみてください。
PHPの詳細データを表示する
今度はPHPの関数を使って、ブラウザ内にPHP自体の詳細情報を表示してみましょう。前述のテストファイルを作成した場所はApacheサーバのデフォルトのドキュメントルートディレクトリです。同じ場所に以下の.phpファイルを作成しましょう。
【以下のディレクトリに移動】
cd /var/www/html
【.phpファイルを作成】
sudo vi phpinfo.php
–
<?php
echo phpinfo();
?>
–
ファイルを作成したらブラウザで以下のURLにアクセス。
http://ドメイン又はIPアドレス/phpinfo.php
PHPのバージョンやインストールされているモジュールの詳細情報が表示されれば成功です。
また、前述のテストファイルもブラウザで表示してみましょう。「Hello World」と表示されるのが確認できます。
http://ドメイン又はIPアドレス/hello-world.php
phpinfo()関数の代わりにphpversion()関数を使用してみてください。PHPのバージョンのみ表示されます。
まとめ
今回はPHPの言語をEC2のインスタンスにインストールする手順を学習しました。インストール後はコマンドラインから.phpファイルを実行できることを確認し、Apacheを使ってWebブラウザから.phpファイルの実行も確認しました。インストールしたPHPに含まれているモジュールの確認方法も学びましたね。PHPの学習の第一歩となるので、自分で環境を整えるようになっておきましょう。
コメント