概要
UbuntuでphpとApacheを連携させるのメモ。
現象
index.phpでechoしてもブラウザ上になにも表示されなかったので調べたところ、phpとApacheを必要があるらしい。
環境
Ubuntu
$ cat /etc/issue
Ubuntu 22.04.3 LTS \n \l
php
$ php -v
PHP 8.3.2 (cli) (built: Jan 25 2024 15:18:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
Apache
$ apachectl -v
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2023-10-26T13:44:44
試したこと
- 下記コマンドでphpモジュールを有効化する
sudo a2enmod php
下記エラーが出る
ERROR: Module php does not exist!
- Chat-GPTに聞いたところlibapache2-mod-phpをインストールする必要があるらしいが、libapache2-mod-phpはapt listしたらインストール済みだった。
- またGPTくんに聞いてみる。解決策として下記二行をApacheの設定ファイルapache2.conf(/etc/apache2/apache2.conf)に追記することを提案していたのでやってみると解決。
この二行を追記することで、モジュールが読み込まれるらしい。※Apache2.4よりバージョンが低いとこの書き方とは違うみたいです。
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
よくわからなかったのでGPTくんに聞いてみる。
Apacheでは、モジュールは.loadファイルと.confファイルの組み合わせとして提供されます。.loadファイルは、関連するモジュールを読み込むためのロードディレクティブ(例: LoadModule)を含みます。一方、.confファイルは、モジュールの設定やその他の関連設定を含んでいます。
途方に暮れていたところGPTくんに助けられました。あと、各ツールのバージョンを確認するのは大事ですね(泣)
以上、メモ書きですが誰かの参考になれば幸いです。
参考
- Chat-GPT4くん
- 【Ubuntu 20.04 LTS Server】Apache2とPHPを動かす