Modern Events Calendar LiteでFatal error: Array and string offset access syntax with curly braces is no longer supported inが発生した時

このような時は
[//サイト名//] サイトで技術的な問題が発生しています
という件名のメールが来てwordpressが知らせてくれます

サイトを開くと当然「重大なエラー・・」ということで開くことができません
管理画面にも入れません

まずFTPソフトなどで、該当のプラグインのファイル名を変更します
modern-events-calendar-lite

modern-events-calendar-lite_

みたいに
すると、プラグインが無効化されるので管理画面にログインできるようになります

その後上記で変更したプラグインのファイル名を元に戻します

すると、管理画面内では該当のプラグインは無効化された状態のままで
エラーは発生しません。

その後、プラグインを管理画面で有効化します

すると、プラグイン一覧の上部に以下のようなエラーが表示されます。

Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/hogehoge/hoge.com/public_html/*******/wp-content/plugins/modern-events-calendar-lite/app/libraries/filesystem.php on line 782

このエラーは、PHPで配列や文字列のアクセス時に中括弧{}を使用する旧形式の構文がサポートされなくなったことを示しています。

FTPで該当のプラグインの該当のファイルに移動して開きます。
以下の箇所の{}を[]に更新することで解決します。

$parsed_mode .= ($mode{$i} & 04) ? "r" : "-";
// write
$parsed_mode .= ($mode{$i} & 02) ? "w" : "-";
// execute
$parsed_mode .= ($mode{$i} & 01) ? "x" : "-";
$parsed_mode .= ($mode[$i] & 04) ? "r" : "-";
// write
$parsed_mode .= ($mode[$i] & 02) ? "w" : "-";
// execute
$parsed_mode .= ($mode[$i] & 01) ? "x" : "-";

PHPのバージョンを7から8に上げた時などに発生する可能性があります

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