PHPを7.3にしたことで、7.2までは何とか許されていたエラーが許されなくなった。と思われるので対応してみた。
その1
PHPのエラーのうち、最初のエラーというのは、これ。
PHP Warning: A non-numeric value encountered in .../wp-includes/SimplePie/Parse/Date.php
WordPressのパッケージに含まれているSimplePieというライブラリが、なぜか古いバージョンになっていて、どうも不具合がいつになっても改善されないという話しがあるらしい。
そのため、自分も導入したWordPressのプラグイン(Crayon Syntax Highlighter)でもどうにも不具合が解消しないことがあった。PHPも7.2までは大丈夫だったが、7.3にしたら許されないエラーが出た。
この対応は、簡単。エラー回避ができるプラグインがあって、これを導入すればOK。
その2
もうひとつのPHPエラーはこちら。
PHP message: PHP Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
これは、グーグル先生もなかなか教えてくれなかったので、時間がかかりましたが、見つけました。
正規表現の書き方がまずいらしい。これもPHP7.2まではエラーが出なかったのだが、7.3では許されないらしい。crayon_langs.class.phpをこんな風にしたら、何とか動くようになった。
return preg_replace('/[^\w-+#]/msi', '', $id); return preg_replace('/[^\w[\-]+#]/msi', '', $id);
これでいいのかどうかは分からないが、動いているので様子を見る。
コメント
[…] WordPressでのSimplePieのエラーへの対応 | ごくろぐ より: 2019-01-20 21:46 […]