あるお客さまのホームページのお話です。どうやら10年くらい放置されたホームページのようで。
「サーバーのPHPをバージョンアップしてください」 そんな通知を見て、「よし、そろそろやるか」と軽い気持ちでボタンを押した数秒後。目の前に広がったのは、真っ白な画面と「このサイトにアクセスできません」の無慈悲な文字だったようです。
今回使用しているレンタルサーバーはロリポップで、ロリポップでは一度バージョンを上げるとPHP 7.3へは戻せなくなっていました。 今回は、そんな絶望的な状況に追い込まれた私が、どうやってサイトを救出したのか、その手順を包み隠さず公開します!
Contents
最初の生存戦略:動くバージョンまで「半歩」戻す
PHP 8.3は、古いプログラムにとっては「言語が違う」レベルの大きな変化です。 一気に最新版に飛んでダメなら、まずは管理画面に入れるバージョンを探しましょう。
私はロリポップの「PHP設定」から、かろうじて提供されていたPHP 7.4に切り替えてみました。 すると……ビンゴ!サイトはまだガタガタですが、管理画面(ダッシュボード)にはログインできました。 これで「戦うための武器」が手に入ったわけです。
犯人を特定する「可視化」の魔法
サイトが真っ白なのは、WordPressがエラーの詳細を隠しているからです。 ここでPM(プロジェクトマネージャー)的な思考に切り替えましょう。まずは「現状把握」です。
ロリポップの管理画面から 「php.ini設定」を開き、display_errors を「On」 に書き換えます。 すると、沈黙していたサイトが饒舌に語り始めました。
Fatal error: Array and string offset access syntax with curly braces is no longer supported in... /plugins/shortcodes-ultimate/... on line 130
エラーの中に、はっきりと犯人の名前が書いてありました。 今回は、人気プラグインの 『Shortcodes Ultimate』 内にある、PHP 8で廃止された「古い書き方(中括弧 {} の指定)」が原因でした。
手術開始!問題のプラグインを「物理的に」止める
原因がわかれば、あとは取り除くだけ。 管理画面が不安定なら、ロリポップFTPやFTPソフトを使って、直接サーバーの中身を触ります。
- パス
/wp-content/plugins/ - 処置
shortcodes-ultimateフォルダの名前を、shortcodes-ultimate_oldのように変更します。
たったこれだけで、WordPressは「あ、このプラグインは壊れてるから読み飛ばそう」と判断してくれます。
仕上げ:外部連携のメンテナンス
サイトが映ったからといって油断は禁物です。PHPのバージョンが変わると、Googleとの連携トークンなどがリセットされることがあります。
今回の場合、お問い合わせ内容をスプレッドシートに飛ばす 『CF7 Google Sheet Connector』 の連携が切れていました。 管理画面に「Connect now」という警告が出ていたら、迷わず再認証(Re-Authentication)を行いましょう。 これを忘れると、「せっかくのお問い合わせがどこにも届いていなかった」なんて悲劇が起こります。
最後に:アップデートは「怖くない」
今回のトラブルを通じて痛感したのは、「エラーは解決のためのラブレター」だということです。 表示をONにして、原因となっているプラグインを特定し、最新版に更新する(あるいは物理的に一度止める)。 この手順さえ知っていれば、PHPのアップデートはもう怖くありません。
もし、どうしても自分の力では解決できない……という場合は、ITのプロに相談するのも一つの賢い選択です。 トータルライフデザインホーリーでは、こうしたITトラブルの相談に乗っていますので、お気軽にどうぞ!
皆さんのサイトが、最新のPHP環境で爆速かつ安全に運用されることを願っています!
お問い合わせはこちらから









