テーマをCocoonに変更しました!

wp-includes/SimplePie/Parse/Date.php on line 694のエラーが表示される

20171104161218

PHP7系では数値型エラーが出力されてしまう

WordPress に標準搭載されている RSS を出力する関数や、それを利用したプラグインを使用している場合、エラーログを確認したほうが良いです。

PHP5.x では出力されませんでしたが、PHP7.x では以下のようなエラーを常に出力し続けている可能性があります。

PHP Warning:  A non-numeric value encountered in
 /[ドキュメントルート]/wp-includes/SimplePie/Parse/Date.php on line 694

PHP 7.x では数値形式ではない文字列を使って、数値を期待する演算 (+ – * / ** % << >> | & ^ や、これらを用いた代入演算) を行おうとしたときに、 E_WARNING あるいは E_NOTICE レベルのエラーが発生するようになりました。

実際に『/wp-includes/SimplePie/Parse/Date.php』 694行目の以下の箇所がエラーとなっていました。

$second = round($match[6] + $match[7] / pow(10, strlen($match[7])));

変数の先頭に『(int)』を挿入して、以下のように修正したら無事直りました。

$second = round((int)$match[6] + (int)$match[7] / pow(10, strlen((int)$match[7])));
MixHostサーバーでWordPressは正常に動いていたのでエラーログを無視していたのですが サイズが超巨大化してしまったので修正することにしました。 エックスサーバーではエラーログがFTPでは見れないのでまったく気がつきませんでしたwww

コメント

ブログ管理者などによく売れてる本です