7月
17
自鯖(この blog が置いてある VPS)を Ubuntu 20.04LTS から 22.04LTS にしたんですが、そうしたら WordPress の blog が表示されなくなりました。真っ白なページが表示されます。ソース表示すると PHP のソースがそのまま表示されているようです。
# 実際には一旦手元の VM 上でアップグレードリハーサルをやってその時に遭遇した現象
ちょこっとググったら全く同じ症状の人を見つけました。何やら PHP のモジュールが読み込めなくなってしまうようです。
root@youm:/home/umezawa# apt list --installed | grep php WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libapache2-mod-php8.1/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.13 amd64 [installed,automatic] (中略) php8.1/jammy-updates,jammy-updates,jammy-security,jammy-security,now 8.1.2-1ubuntu2.13 all [installed,automatic] php/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]
PHP 自体はインストールされています。
root@youm:/home/umezawa# a2query -m | php php7.4 (enabled by maintainer script)
Apache 上で「有効」になっている PHP のバージョンが違います。
root@youm:/home/umezawa# ls -l /etc/apache2/mods-enabled/php* lrwxrwxrwx 1 root root 29 Jan 10 2021 /etc/apache2/mods-enabled/php7.4.conf -> ../mods-available/php7.4.conf lrwxrwxrwx 1 root root 29 Jan 10 2021 /etc/apache2/mods-enabled/php7.4.load -> ../mods-available/php7.4.load
インストールされてるのは 8.1 なので、 mods-enabled ディレクトリにある symlink は dead link になっています。アップグレードプログラムがうまく処理できなかったんですかね。
というわけで直していきます。
root@youm:/home/umezawa# a2dismod php7.4 removing dangling symlink /etc/apache2/mods-enabled/php7.4.load removing dangling symlink /etc/apache2/mods-enabled/php7.4.conf root@youm:/home/umezawa# a2enmod php8.1 Considering dependency mpm_prefork for php8.1: Considering conflict mpm_event for mpm_prefork: Considering conflict mpm_worker for mpm_prefork: Module mpm_prefork already enabled Considering conflict php5 for php8.1: Enabling module php8.1. To activate the new configuration, you need to run: systemctl restart apache2 root@youm:/home/umezawa# systemctl restart apache2
サクッと直りました。
no comment untill now