このセクションでは、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)];