サポート » 使い方全般 » PHPのバージョンアップ後不具合について

  • 解決済 jyohana

    (@jyohana)


    現在、運営するWEBページのPHPは5.6.40なのですが、ダッシュボードに「PHPの更新が必要です」と表示されたため、利用しているXサーバーのサーバーパネルから、PHP7.2.17へ更新してみました。
    すると、サイドバーに設置しているRSSリーダーを利用してitunesの音楽チャートランキングを表示させている箇所に、

    「Warning: A non-numeric value encountered in /home/(サイトID)/(サイトアドレス)/public_html/wp-includes/SimplePie/Parse/Date.php on line 694」

    という表示が出るようになってしまいました。
    チャートランキング自体は、上記文言のあとにしっかり表示されてはいるのですが、上記文言が表示される原因と、何が問題になって上記表示が出ているのかがわかりません。

    【補足】
    使用しているテーマはワードプレスオフィシャルの「Twenty Sixteen」です。

    解決策をご教授ください。
    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • CG

    (@du-bist-der-lenz)

    エラーを表示させる前の行為はわかっているのですから、一歩後退。 PHP5.6に戻すとエラー表示は解消しますよ。
    「PHPのバージョンアップ後の不具合」ではなく「PHPをバージョンアップしたことでの、使用プラグインからの文言表示」が適当ですね。文言が出ている原因と、問題は1年前のプラグインのエラー表示と同じです。
    PHP7.0や7.1は、PHP5系統と比較すると2倍以上の実行速度を誇るそうです。データの読み出しが高速になったことで、エラー表記して対応を促しているメッセージです。

    こんにちは

    WordPress 本体(SimplePie ライブラリ)のバグのようです。
    https://core.trac.wordpress.org/ticket/46575

    バージョン 5.3(11/12 リリース予定)で修正される予定です。それまで待てない場合はパッチも作成されているようなので試してみてはと思います。

    wp-includes/SimplePie/Parse/Date.php (694行目):

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

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

    CGさん

    またまたご回答くださり感謝です!!
    とりあえず、一旦5.6に戻しておきました。
    WordPressのバージョンが上がったら、再度7.2.17を試してみたいと思います。
    ありがとうございます。

    ishitakaさん

    なるほど、本体バグなんですね!
    とりあえず一旦以前の状態に戻して、バージョン5.3がリリースされ次第、アップデートした上で再度7.2.17を試してみたいと思います。
    詳しい解説をいただきありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • このトピックに返信するにはログインが必要です。