webツール・アプリ

Xサーバーのメール問い合わせフォームでphpエラーが出る時の対処法!

エックスサーバーのメールフォームCGIを使ってWordPressに問い合わせフォームを設置した際に出るDeprecatedエラーの対処法を紹介します。

 

問い合わせフォーム上部に下記のエラーが出ることがあります。(出る時と出ない時がある)

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CFormItemBinder has a deprecated constructor in /home/サーバーID/ドメイン名/public_html/script/mailform/自分で決めた文字列/admin/lib/CFormItemBinder.php on line 10

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CReturnMail has a deprecated constructor in /home/サーバーID/ドメイン名/public_html/script/mailform/自分で決めた文字列/admin/lib/CReturnMail.php on line 10

 

このエラーについてエックスサーバーさんに問い合わせたところ

  • 動作に問題のないエラーであること
  • エラーの対処法

の2点を教えていただきました。

 

関連記事
【プラグインなし】Xserverの問合せフォームをWordPressサイドバーに設置する方法!

メール問い合わせフォームのエラーは「動作に問題ない」エラーとのこと

エックスサーバーさんからの回答は

現時点ではPHP7.0以上への対応が完了しておりません。

動作そのものに問題はございませんが、「PHPの構文が7.0に適していない」という旨のエラーが表示されてしまう状態でございます。

近日にアップデートをする予定ではございますが具体的な日程などはまだ調整の段階のため申し上げられませんこと、ご了承くださいますようお願いいたします。

というものでした。

 

確かに

Deprecated=推奨されていない

という意味ですし、それほど重篤なエラーでないことはエラー文言からも見て取れますね。

メール問い合わせフォームのエラーを消す方法を解説

動作そのものには問題のないエラーとのことでしたが、エラーを消す方法も下記の通り教えてもらいました。
普通にエラーが表示されていたら気になりますもんね。

 

 エラーを消すための設定方法 

エックスサーバーのサーバーパネルにログイン

 

エックスサーバーのメールフォームでエラーが出る時の対処法

「php.ini設定」をクリック

エックスサーバーを高速化するXアクセラレータの設定方法

当該ドメインの右側の「選択する」をクリック

「php.ini設定変更」タブをクリックし…

エックスサーバーのメールフォームでphpエラーが出る時の対処法

「error_reporting」の右側の枠内を(デフォルトのE_ALL & ~E_NOTICEから)

E_ALL & ~E_NOTICE & ~E_DEPRECATED

に変更

「設定する(確認)」をクリック

「設定する(確定)」をクリック

 

これでDeprecatedエラーは解消されますね!

エックスサーバーさんのアプデ後は手動で戻す必要がある

前述の

近日にアップデートをする予定ではございますが具体的な日程などはまだ調整の段階のため申し上げられませんこと、ご了承くださいますようお願いいたします。

との回答どおりアップデートがリリースされた後は、手動で「php.ini設定」をデフォルトに戻す必要があります。

 

戻すのを忘れると、今後ずっとエラーメッセージが表示されないという事態に陥ってしまいます。

戻し忘れることで

動作に影響のあるエラーに気付くことができなかった!

なんてことになると大変なので、アップデート後は忘れずに戻すようにしたいですね。

 

 設定を元に戻す方法 

エックスサーバーのサーバーパネルにログイン

エックスサーバーのメールフォームでエラーが出る時の対処法

「php.ini設定」をクリック

エックスサーバーを高速化するXアクセラレータの設定方法

当該ドメインの右側の「選択する」をクリック

「php.ini設定変更」タブをクリックし…

エックスサーバーのメールフォームでphpエラーが出る時の対処法

「error_reporting」の右側の枠内を(現在のE_ALL & ~E_NOTICE & ~E_DEPRECATEDから)

E_ALL & ~E_NOTICE

に戻す

「設定する(確認)」をクリック

「設定する(確定)」をクリック

 

これで、エラーが発生した時はメッセージが表示される設定に戻すことができました。

さいごに

エックスサーバーのメール問い合わせフォームでDuplicatedで始まるphpエラーが出る時の対処法を紹介しました。

このエラーは画面上部に出てる時と出てない時がありますが、もし出ていても動作に影響はないとのことです。

エラーを消したい場合は

  1. エックスサーバーのサーバーパネル
  2. php.ini設定
  3. php.ini設定変更
  4. error_reporting

の手順で変更してみてくださいね。