Warning: A non-numeric value encountered in ・・・などと表示される場合

現象について

特定のプラグインをインストールした時に、

Warning : ....(英語の説明)...

と出る場合があります。

コース受講者の方からの報告では、

Warning: A non-numeric value encountered in /home/XXXXXX/XXXXXXX.net/public_html/wp-content/plugins/ninja-forms/includes/Libraries/BackgroundProcessing/classes/wp-background-process.php on line 424

のように、Ninja-forms プラグインで警告表示が出たりするようです。

これは、PHP言語が「プログラムのエラーではないけど、あまり良くはないよ!」という情報を提示している状態です。プラグインを開発するときなどは、Warningが出ないように設計しますが、どうしても発生することがあります。発生する原因は、様々あります。設計が悪い、あるいはPHPのバージョンの違いによるものもあります。

なお、PHP言語は、同様に、Notice(お知らせ)というWarningyりもさらに問題が少ないけど、よくないよというメッセージも出します。これらは、開発時は利用しますが、本番環境(レンタルサーバー)では、表示しないようにPHPを設定します。

解決方法

Step1. PHPを推奨バージョンにする

2021年4月現在、WordPressのPHP推奨バージョンは、PHP7.3, PHP7.4 です。このバージョンのPHPを使うようにレンタルサーバーを設定するべきです。

Step2. エラーメッセージの表示設定を変更する

Warningは、プログラムが終了するほどのことではないので、基本的に「Warningを表示しない設定」をすることで解決できます。

PHP言語の設定を変更するには、お使いのレンタルサーバーのマニュアルを参考にしてください。設定する項目は以下の通りです。

  • display_errors を Off (0) にする

あるいは

  • error_reporting を E_ALL & ~E_NOTICE & ~E_WARNING とする

ことで解決できます。

なお、Warningについては、プラグイン開発者に連絡をするのが良いです。しっかりと対応してもらうべきです。最新のバージョンにアップすると解決することもありますので、バージョンアップも行ってください。

以下、レンタルサーバーの参考ページを記載しておきます。

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

まだ解決しましませんか? お問い合わせ お問い合わせ