Ubuntu 24.04 LTSにバージョンアップしたらApacheが起動しなくなった(備忘録)

テクノロジー
記事内に広告が含まれています。本サイトは広告による収益で運営しています。
スポンサーリンク

原因は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ページが表示されるようになりました。

スポンサーリンク

知恵をお借りしたサイト様

大変助かりました。ありがとうございました。

コメント

タイトルとURLをコピーしました