【さくらインターネットの罠】PHP 7.3から8.3にアップデートしたらWordPressが表示されなくなった原因と対処法

2025年現在、さくらインターネットではPHP 8.3が利用可能になっています。私はこれまでPHP 7.3を使っていましたが、セキュリティ面と速度改善を考慮してPHP 8.3にアップデートしました。

しかし、思わぬトラブルに遭遇。WordPressが動かなくなったのです。

現象:ユーザー側ページが「重大なエラー」で真っ白に

PHPのバージョンを8.3に変更後、WordPressの管理画面は問題なく表示されていたのですが、ユーザーがアクセスするページに限って以下のエラーが表示されました。

このサイトで重大なエラーが発生しました。
WordPress のトラブルシューティングについてはこちらをご覧ください。

原因を探るために wp-config.php にデバッグコードを追加

WordPressがなぜ落ちているのか調査するため、wp-config.php に以下のコードを追記し、エラーを画面に表示させるようにしました。

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

すると、詳細なエラーが画面に出るようになりました。

原因は wp-social-bookmarking-light プラグイン

画面に表示されたエラーは以下の通り:

Deprecated: realpath(): Passing null to parameter #1 ($path) of type string is deprecated
in /wp-content/plugins/wp-social-bookmarking-light/vendor/twig/twig/lib/Twig/Loader/Filesystem.php on line XX

このエラーが大量に出ており、PHP 8.3の仕様変更に対してプラグイン側のTwigライブラリが古すぎることが原因でした。

対処法:プラグインを無効化したら直った

問題となっていた wp-social-bookmarking-light プラグインを無効化したところ、サイトは正常に動作するようになりました。

無効化の手順(FTPなどで対応)

  1. wp-content/plugins/ にアクセス
  2. wp-social-bookmarking-light フォルダを wp-social-bookmarking-light_old などにリネーム
  3. ブラウザでサイトを再読み込みして確認

結論と教訓

  • WordPress本体や管理画面が動いていても、表示系のプラグインがPHPバージョンに対応していないとユーザー向けページが落ちる
  • PHP 8.3では古いライブラリの非推奨関数が原因でエラーになるケースが多い
  • wp-social-bookmarking-light のような古いプラグインはメンテナンスされておらず、今後の運用には不安が残る

今後の対応方針

wp-social-bookmarking-light の代替として、現在は以下のプラグインが人気・安定しています:

  • AddToAny Share Buttons
  • Sassy Social Share
  • Shared Counts

これらはPHP 8.3対応済みで、機能面・表示速度の面でもおすすめです。

最後に

PHPのバージョンを上げる際には、一部プラグインが原因でサイトが落ちるリスクがあるため、事前にローカル環境やステージング環境でテストすることを強くおすすめします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA