😱 WordPressのページでPHPコードがそのまま表示されるのは、WebサーバーがPHPを処理できていない状態です。OSのアップグレード後にありがちなトラブルで、PHPモジュールの未設定やApache/Nginxの構成ミスなどが原因です。
🔍 考えられる原因とは
これまで正常に動作していたHPがOSのバージョンアップで上記のような現象となった場合、次が考えられます。
- PHPが無効化されている
- ApacheやNginxがPHPを処理する設定になっていない
- PHPのバージョン変更により旧設定が無効化された
本稿では、Apache環境での解決策を紹介します。
🛠 Apache環境での対処手順とは
① PHPモジュールのインストール(例:PHP 8.3)
sudo apt update sudo apt install php libapache2-mod-php php-mysql
② ApacheにPHPモジュールを有効化
sudo a2enmod php8.3 sudo systemctl restart apache2
※ php8.3
はインストールされたバージョンに合わせて変更してください。
🧠 PHPバージョンの確認
php -v
- WordPressは PHP 7.4以上 を推奨。PHP 8.1〜8.3でも動作しますが、一部プラグインとの互換性に注意が必要と言われているようです。

WordPressが Apache か Nginx のどちらで動作しているかを確認するには
psコマンドで調べると、Apache と Nginxが療法動作しているケースがあります。例えば、Nginxがリバースプロキシとして動作し、ApacheがバックエンドでPHPを処理しているケースなどです。この場合、Nginxが外部からのリクエストを受け取り、Apacheに渡しているため、両方のプロセスが存在します
🕵️♂️ WordPressが Apache か Nginx のどちらで動作しているかを確認するには、以下の方法が有効です。
🔎 ポート80番のリスナーを確認する
sudo lsof -Pn -i tcp:80 | grep LISTEN
- 出力例
apache2 1234 root 6u IPv4 ... TCP *:80 (LISTEN)
nginx 5678 root 7u IPv4 ... TCP *:80 (LISTEN)
COMMAND
欄に表示されるプロセス名で、どちらがポート80をリッスンしているかが分かります。- WordPressがアクセスされるポート(通常は80または443)をどちらが担当しているかが鍵です。