\ 自分ブログを作って、自分の世界を広げよう! /

ちょこヘル!

PHP7.1にバージョンアップしたら、「Warning:A non-numeric value encountered in ...」とエラー文がでた時の対処方法。

投稿日:

お客さんの「ナイスさんいん」のトップページおよびサイドバーに、↓のように社長ブログのRSSを表示させています。

社長ブログは、JUGEMブログなので、↓のようなコードで最新のブログタイトルを引っ張って表示させています。

データベースのPHPを7.1にバージョンアップしたら、↓のようにエラー文がぁーーーー!!ΣΣ(゚д゚lll)ガガーン!!

Warning:A non-numeric value encountered in /home/*****/www/**/wp-includes/SimplePie/Parse/Date.php on line 694

※「***」は、個人的なアカウント名やフォルダ名なので「***」にしてます。

このエラー文で検索をかけてみたら、↓の記事を見つけました。
参考 PHP7.1で「Warning: A non-numeric value encountered in」の対処法

これはPHP7.1からの変更点で、数値ではない値で演算を行うと警告が表示されてしまうみたいですね。「media.php」の647行目を見てみると、以下のような演算が行われています。おそらく「$expected_size」が文字列として扱われてしまっているので「(int)$expected_size」というように、型を指定してあげます。これでエラー(警告)は表示されなくなりました。

きっと、↑コレだ!と思い、同じ対処方法を施してみることに。

①該当ファイルをダウンロード

エラーが出てるのは、「wp-includes」フォルダの中の「SimplePie」フォルダの中の「Parse」フォルダの中のDate.phpの694行目ってことなので、この行を修正するために、FTPでサーバーに接続して、該当ファイルDate.phpをダウンロード。

②テキストエディタで開く

ダウンロードしてきたDate.phpを、TeraPadというテキストエディターで開き、694行目をチェック!

↓画像をクリックすると大きい画像が開きます。

※文字コードが「UTF-8」で修正・保存しないと文字化けするので、メモ帳とかで開かないように。メモ帳だと文字コードが修正・変更できないし、行数がでません。テキストエディタを持ってない人は、ココ(TeraPadー窓の杜)からダウンロードしましょう。

③該当箇所に、(int)または(float)を追加

文字列として扱われてしまっていそうな箇所に、↓のように「int型」(整数)指定。

今回の場合は、メディア(写真)のサイズなので、「int型」(整数)で良いと思うのですが、「(float)」を指定しても警告は表示されなくなりました。間違えている場合には、ご指摘していただけますと幸いでございます。

とあったので、「(float)」の指定をしてみてもOKでした。

これでエラーが解消され、ちゃんとRSSが表示されるようになりました!ヽ(=´▽`=)ノ

スポンサーリンク
スポンサーリンク

-ワードプレス
-

\ 役に立ったらシェアシェアを! /

Copyright© ちょこヘル! ♥ 2008-2017 All Rights Reserved.