PHPバージョンアップ後、サイトが崩れた
「昨日、サーバーのバックアップを取った後、PHPのバージョンを上げたところ、サイトがうまく表示されなくなりました」
C様からのご相談でした。ご自身でサーバーの管理画面からPHPバージョンを変更したところ、WordPressサイトの表示が崩れ、一部のページではエラーが表示される状態になってしまったとのことです。
バックアップは取得済みだったものの、復元の手順がわからず、元に戻すこともできない状態でした。
なぜPHPバージョンアップで壊れるのか
PHPはWordPressを動かすプログラミング言語です。サーバー会社から「PHPのバージョンが古いので更新してください」と通知が届くことがあり、管理画面から簡単に変更できます。
しかし、WordPressのテーマやプラグインが新しいPHPバージョンに対応していない場合、以下のような問題が発生します。
- 画面が真っ白になる(いわゆる「死の白画面」)
- レイアウトが崩れる
- エラーメッセージが表示される
- 特定の機能(お問い合わせフォームなど)が動かなくなる
特に長年更新されていないテーマや、開発が終了したプラグインを使っている場合、新しいPHPで廃止された関数(命令)を使用しているケースが多く、エラーの原因になります。
対応内容
- PHPバージョンの切り戻し:まずサーバーのPHPバージョンを元に戻し、サイトの表示を復旧
- 互換性の調査:使用中のテーマ・全プラグインについて、新しいPHPバージョンとの互換性を確認
- 非対応プラグインの特定:互換性のないプラグインをリストアップし、代替プラグインへの移行を検討
- テスト環境での検証:本番に影響を与えない環境で、PHPバージョンアップ後の動作を事前に確認
- 段階的なアップグレード:問題がないことを確認した上で、本番環境のPHPを更新
復旧結果
PHPの切り戻しにより、サイトは速やかに正常表示に復旧しました。その後、互換性の問題を解消した上で、安全にPHPバージョンアップを完了しています。
「自分でやる」が裏目に出るパターン
C様はバックアップを事前に取得されており、その点は正しい判断でした。ただ、PHPバージョンの変更は「ボタンを押すだけ」で完了する反面、影響範囲が大きい操作です。
サーバー会社の管理画面では簡単に変更できてしまうため、つい気軽に実行してしまいがちですが、事前の互換性確認なしに行うと今回のようなトラブルにつながります。
正しいPHPアップグレードの手順
参考までに、安全なPHPバージョンアップの手順をまとめます。
- バックアップを取得(ファイル+データベースの両方)
- WordPress本体・テーマ・プラグインをすべて最新版に更新
- 互換性チェック:各プラグイン・テーマの対応PHPバージョンを確認
- テスト環境で事前検証:可能であればステージング環境で動作確認
- 本番環境でPHP変更:問題がないことを確認してから実行
- 変更後の動作確認:全ページ・主要機能のチェック
特にステップ2と3が重要です。古いまま放置しているプラグインがある場合は、先にそちらの対応が必要になります。
自信がない場合は、専門家に依頼することで確実かつ安全にアップグレードできます。
