原因はPHPモジュールのバージョン?
Ubuntu 23.10からUbuntu 24.04 LTSに更新したらApacheがエラーを吐いて起動しなくなりました。
XXX@XXXX:~$ systemctl status apache2.service
× apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-07-27 16:12:01 JST; 7s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 4732 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
うーん、よくわからない。構文チェックで確認してみます。
XXX@XXXX:~$ apachectl configtest
apache2: Syntax error on line 149 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load: Cannot load /usr/lib/apache2/modules/libphp8.2.so into server: /usr/lib/apache2/modules/libphp8.2.so: cannot open shared object file: No such file or directory
/etc/apache2/apache2.confの149行目、/etc/apache2/mods-enabled/php8.2.loadの3行目がエラーになっていますね。確認してみます。
#/etc/apache2/apache2.conf
IncludeOptional mods-enabled/*.load
うーん?何も間違っていない気がします。/etc/apache2/mods-enabled/php8.2.loadも確認してみます。
#/etc/apache2/mods-enabled/php8.2.load
LoadModule php_module /usr/lib/apache2/modules/libphp8.2.so
構文チェックにはlibphp8.2.soに対して「そのようなファイルまたはディレクトリがありません」と出ていました。
/usr/lib/apache2/modulesに入っているファイルを確認したところ…
libphp8.2.soではなくlibphp8.3.soがありました!なんでやねん!
/etc/apache2/mods-enabled/php8.2.load の3行目の
LoadModule php_module /usr/lib/apache2/modules/libphp8.2.so
を
LoadModule php_module /usr/lib/apache2/modules/libphp8.3.so
に変更してApacheを再起動します。
構文エラーが消え、Apacheが起動しました。
MySQL拡張機能がない
次の問題が発生しました。
アクセスはできるようになりましたが、ブラウザ上で以下のエラー文が出てきてWebページが表示されません。
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
Please check that the mysqli PHP extension is installed and enabled.
If you are unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress support forums.
どうやらMySQL拡張機能がインストールされていないというエラーのようです。
以下のコマンドでインストールされているか確認します。
php -m | grep mysqli
インストールされていればmysqliと表示されるはずですが、何も出てきませんでした。
MySQL拡張機能をインストールします。
sudo apt install php-mysqli
無事にエラー画面が消え、Webページが表示されるようになりました。
知恵をお借りしたサイト様
大変助かりました。ありがとうございました。
- Stack Overflow「Apache not starting in linux mint」:https://stackoverflow.com/questions/49439812/apache-not-starting-in-linux-mint
- Alibaba Cloudの備忘ログ:https://www.bigriver.jp/?p=17298
コメント