最新ワードプレス ホームページ制作

PHPのバージョンアップでメールフォームがエラー(メールが送信できない)になった時の対処方法

昨日、ムーバブルタイプで作られたクライアントのホームページを、ワードプレスでリニューアルする作業を行っていた際、PHPのバージョンアップによってメールフォームにエラーが発生したので、その対処方法を記録しました。

今回は、公開中のホームページに影響を及ぼさないよう、リニューアル用のディレクトリで作業をしました。

クライアントのサーバー(エックスサーバー)でデータベースを作成・設定して、ワードプレスをインストールし、ダッシュボードを見たところ、「PHPの更新が必要です」のメッセージがありました。

PHPの更新が必要です

PHPの更新が必要です
サイトが安全ではないバージョンのPHPを実行していることを検出しました。
PHPとは何ですか ? サイトにどう影響しますか ?
PHPはWordPressの開発や保守に使用されているプログラミング言語です。PHPの新しいバージョンはより高速で安全なため、アップグレードするとサイトのパフォーマンスに良い影響を与えます。

ワードプレスを扱っていると、時代の流れる速度よりも、PHPの推奨バージョンが変化する速度の方が幾分早いと感じる今日この頃です。

エックスサーバーで「PHP Ver.切替(PHPバージョン切替)」にアクセスして確認すると、「現在のバージョン PHP7.0.33」とありました。

現在のバージョン PHP7.0.33

推奨しているPHPのバージョンは「PHP8.1.22」の一択でした。

推奨しているPHPのバージョンは「PHP8.1.22」

PHPバージョンを「PHP8.1.22(推奨)」に変更しました。

そして公開中のホームページやムーバブルタイプに問題が発生していないかを点検したところ、メールフォームの入力内容を確認するためのボタンを押すと、ブラウザにエラー(Fatal error)が表示されることを確認しました。

Fatal error

そのメールフォームは、PHP工房様が提供されている『PHPメールプログラム』で作られていたので、ホームページを拝見して、エラーの際の対処方法を探しました。

検索をしてまず目に入ったのが、この「メールフォームプログラムにてPHP7.4以降(PHP8含む)でエラーが出る問題について」というページなのですが、修正方法は別のページに記載があるとのことでした。

その別のページに記載されている修正方法の内容がこちらです。

具体的な修正方法

【原因】
PHPのバージョンが7.4以降の場合、get_magic_quotes_gpc()関数が非推奨となったため、環境によってはDeprecatedエラーが表示される場合があります。
※追記:PHP8以降では廃止になったため、Fatal errorが表示されると思います。

【解決方法】
mail.phpをエディタソフトなどで開いて「get_magic_quotes_gpc()」の文字をファイル内検索して下さい。
フリー版の場合は2箇所、有料版の全機能搭載版の場合は4箇所あります。

以下のような記述です。
if(get_magic_quotes_gpc()) { $out = stripslashes($out); }

あとはその行を1行まるっと削除するだけです。削除しても機能には影響ありません。

または先頭にスラッシュ2つ「//」を付けてコメントアウトして下さい。
例 //if(get_magic_quotes_gpc()) ・・・・・

これでエラー表示が消えるはずですので確認して下さい。

【MailForm01】多機能メールフォーム(フリー版)

この対処法については、「【MailForm01】PHP多機能メールフォーム フリー(無料)版」のページ中程にある「よくある質問と対処法など」の「メール送信不具合関連」の「PHPのバージョンが7.4以降(8以上含む)でエラーDeprecatedやFatal errorが表示される」(クリックすると開閉するパネル内)に記載があります。

対処前の実際のソースコード

対処前の実際のソースコード

対処後の実際のソースコード

対処後の実際のソースコード

これで無事、問題が解決されました。

追伸

もしこの記事が役に立ったときは、埼玉県越谷市に向かって「ナイスだぜ、大橋プランニング。ホームページを新規で制作するとき、リニューアルするときが来たら、お前のことを必ず思い出すぜ」と囁いていただけると幸いです。
ちなみに、今のイチオシは「ワードプレスのホームページ制作」です。
お値引きさせていただきます。