WordPressでPHP8.2にアップデートしたら500エラーが出た原因と対処法(さくらサーバー)

WordPress

※当サイトではアフィリエイト広告(PR)を掲載している場合があります。

WordPressでPHP 8.2にバージョンアップしたところ、
突然 500 Internal Server Error が発生しました。

表示されたエラーは、

「Array and string offset access syntax with curly braces is no longer supported」

というもの。

検証環境は、さくらのレンタルサーバー上のテスト環境。
PHP 7.4.33 から PHP 8.2 へ切り替えた直後の出来事です。

プラグインやテーマの不具合を疑いましたが、
実際の原因は意外にも WordPress本体 にありました。

本記事では、
PHP8.2対応テスト中に発生した500エラーの原因と、
WordPress本体を更新することで解決した手順を、
備忘録としてまとめています。

検証環境について

  • サーバー:さくらのレンタルサーバー
  • 環境:テスト環境
  • PHPバージョン(変更前):7.4.33
  • アップ予定:PHP 8.2
  • WordPressバージョン:5.1.13

PHP 8.2へバージョンアップ後に発生したエラー

発生した症状

  • フロント画面が表示されない
  • 管理画面にもアクセスできない
  • 500 Internal Server Error が表示される

実際に表示されたエラー内容

Fatal error: Array and string offset access syntax with curly braces is no longer supported
in /wp-includes/script-loader.php on line 706

エラーの原因について

エラーメッセージから分かること

  • {} を使った配列・文字列アクセス構文は PHP8系で廃止
  • WordPress 5.1.13 は PHP8.2 に未対応

プラグインやテーマではなくWordPress本体が原因だった理由

  • エラー発生箇所が /wp-includes/
  • 無効化できない領域であるため本体コードが原因と判断

実際に行った対応内容

WordPress本体のアップデート方法

  • バックアップ取得
  • wordpress-6.8.1-ja をダウンロード
  • /wp-admin//wp-includes/ を上書き
  • /wp-content/ はそのまま保持

アップデート後の確認

  • フロント表示確認
  • 管理画面表示確認
  • PHP 8.2 環境で正常動作を確認

今回の対応で学んだこと・注意点

  • PHPバージョンアップ前にWordPress本体の対応状況を確認する
  • プラグインだけでなく本体が原因になるケースもある
  • 必ずテスト環境で検証すること

まとめ

  • PHP 7.4 → 8.2 では互換性の問題が出やすい
  • WordPressの古いバージョンでは500エラーが発生することがある
  • WordPress本体を最新化することで解決できるケースも多い

コメント

タイトルとURLをコピーしました