PHPの新しいバージョンである8.1系がリリースされました。

PHP8.1系でSOY CMS、SOY Shopで大きく影響を与えたものが、ビルドイン関数のstrlenでした。

PHP: 内部(ビルトイン)関数 - Manual


PHPのバージョンが上がるにつれ、nullの扱いが厳しくなり、

$a = null;
$len = strlen($a);

のようにstrlen関数の第一引数にstring型以外の値を入れるとエラーになるようになりました。

これはPHP8.0の時のdate関数とint型と同様の現象です。

PHP: strlen - Manual


nullの扱いがバージョンごとに厳しくなることに伴い、SOY CMS内でデータ型の確認を強化する事にしました。


PHP8.1に対応したバージョンのダウンロードは下記から行うことができます。

https://saitodev.co/soycms/


今回の修正はPHP7系でも普通に使用出来るものですので、不安であれば現在のPHPのバージョンでご利用下さい。

標準機能の確認は終わりましたが、各プラグインの確認は順次行っていきます。


追記

下記の記事の対応をしたら、更に高速化するかもしれない。

【SEO対策】PHPのOPCacheの更新チェックの頻度を下げる