ある日突然、WordPressが真っ白。
画面に残されたのは
「Array and string offset access syntax with curly braces is deprecated」
という、やたら長いエラー文。
いやいや、何それ。
今回はこの“PHPあるある地雷”について、原因と現実的な対処法を、個人ブロガー目線で正直に書いてみる。
そのエラー、PHPの進化が原因です
このエラー、結論から言うとあなたが何か悪いことをしたわけではない。
犯人はPHPの仕様変更だ。
昔のPHPでは、配列や文字列の中身を取り出すときに {} が使えた。
たとえばこんな感じ。
これ、当時は普通に動いていた。
でもPHPは進化する。
進化しすぎて、過去の自分を切り捨てるタイプだ。
PHP7.4から
「それ、もう非推奨ね(deprecated)」
PHP8では
「完全にアウト。即終了」
という流れになった。
つまりこのエラーは、
古いコード × 新しいPHP
が正面衝突した結果。
ブログで言えば、
「ガラケー用HTMLをスマホ最適化テーマで開いた」
みたいなものだと思っていい。
突然出るから心臓に悪い
このエラー、厄介なのは予告なしで来るところ。
昨日まで普通に動いていたサイトが、
サーバー側のPHP自動アップデートで、
ある朝いきなり真っ白。
更新した覚えもない。
触った覚えもない。
なのに、死んでる。
…そりゃ焦る。
特に多いのが、
・昔入れたまま放置していたプラグイン
・開発が止まっている無料テーマ
・自作functions.phpの古いコード
こういう“過去の遺産”が、
ある日突然、牙をむく。
しかもエラーメッセージは長くて横文字だらけ。
初心者じゃなくても一瞬フリーズする。
でも落ち着いてほしい。
やってることは、実はかなり単純だ。
{}を[]に変えるだけの話
対処法は拍子抜けするほど地味。
{ } を [ ] に書き換える。
それだけ。
たったこれだけで直るケースが本当に多い。
問題は、
「どこにそのコードがあるのか分からない」
という点だけ。
エラーメッセージに
ファイル名と行番号が出ているなら、
そこを開いて { を探す。
Count Per Dayみたいな
“昔は神、今は化石”なプラグインほど
この書き方がゴロゴロ残っている。
正直、
修正するか、卒業するか
どちらかだ。
PHPを戻すのは応急処置
「じゃあPHPを7.4に戻せばいいじゃん」
と思う人も多い。
それ、一時的には正解。
サイトは表示される。
とりあえず安心できる。
でもPHP7.4はもう引退済み。
セキュリティ更新もない。
例えるなら、
鍵の壊れた家に
「今日は誰も来ないだろうから」
と住み続ける感じ。
短期ならいい。
長期は危ない。
本気でブログを育てるなら、
古いコードはどこかで清算する必要がある。
このエラーは通過儀礼みたいなもの
実はこのエラー、
WordPressを長く触っている人ほど
一度は踏む。
「ああ、来たか」
と苦笑いするタイプのやつ。
だから、必要以上に落ち込まなくていい。
むしろ、
・仕組みを少し理解した
・PHPの進化を体感した
・不要なプラグインを整理するきっかけになった
そう考えれば、悪くない。
ブログ運営って、
こういう“小さな地雷処理”の積み重ねだ。
今回の
Array and string offset access syntax with curly braces is deprecated
も、そのひとつ。
越えたら、ちゃんとレベルは上がってる。
静かに、確実に。






コメント