このセクションでは、WordPress で出た“ Fatal error: Array and string offset access syntax with curly braces is no longer supported・・・” の致命的エラーへの対処について紹介していきます。
この警告は、WordPress 環境を CentOS から AlmaLinux へ移行した時に WordPress プラグインの環境で発生しました。
[原因]
WordPressの環境が古いバージョンから新しいバージョンに変り、使用されていた構文がサポートされなくなったことが原因
[確認]
エラーとなるファイル内の指定された行を確認した結果は以下です。調べた結果では、指定された行で使われている { } の構文がサポートされなくなったようでしたので、{ } の構文の修正する必要があります。
219 function wfu_create_random_string($len) {
220 $base = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789';
221 $max = strlen($base) - 1;
222 $activatecode = '';
223 if ( WFU_VAR("WFU_ALTERNATIVE_RANDOMIZER") != "true" )
224 mt_srand((double)microtime()*1000000);
225 else mt_srand((double)substr(uniqid("", true), 15));
226 while (strlen($activatecode) < $len)
227 $activatecode .= $base{mt_rand(0, $max)}; ←エラーが検出された行
228 return $activatecode;
229 }
[対処]
エラー対象となる行の { } の構文を [ ] の構文に変更します。
227 $activatecode .= $base{mt_rand(0, $max)};
↓
227 $activatecode .= $base[mt_rand(0, $max)];