サーバーのphpバージョンアップの影響によるWordPressやメールフォームのエラー

サーバーのphpバージョンアップの影響によるWordPressやメールフォームのエラー


サーバーのphpバージョンアップの影響によるWordPressやメールフォームのエラーについてお伝えしていきます。

WordPressやphpを利用したメールフォームを使用している場合、サーバーのphpバージョンアップの影響で、それらが動作を停止したり不具合が起こったりします。

では、「phpバージョンを上げなければいいではないか」ということになりますが、それはそのとおりです。しかしながら、サーバー会社によってはセキュリティやサーバー負荷軽減のために、サイト運営者が知らぬ間にバージョンを上げるという場合があります。

このため、先日まで何の問題もなかったホームページが、500エラー(内部サーバーエラー)等で急に動作を停止してしまうということが稀に起こります。古い関数や構文が非推奨となり、新しいバージョンでは正しく動作しない場合があります(直近のバージョンまでは、「警告」で済んでいたものの、動作を停止するという形で取り扱いが変わる場合もあります)。

そうした場合の対応、対策について触れていこうと思います。

phpのバージョンの種類

phpのバージョンの種類

それでは、phpのバージョンの種類を簡単に見ていきましょう。

  • php5.x(2004年~2018年(2019年))
  • php7.x(2015年~2022年)
  • php8.x(2020年~)

(リリース年~セキュリティサポート終了年)

php5.x

5.6~

リリース2014/08/28

最終バージョン 5.6.40 リリース2019/01/10

セキュリティサポートは、2018/12/31で終了。

(5.5 は2016/7/10にセキュリティサポートが終了)

php7.x

7.4~

リリース2019/11/28

最終バージョン 7.4.33リリース 2022/11/03

セキュリティサポートは、2022/11/28で終了。

php8.x

8.3~

2022/11/23

最新バージョン 8.3.1 リリース2023/12/21

セキュリティサポートが残っているもの

8.2

リリース2022/12/08

最新バージョン 8.2.14 リリース 2023/12/21

セキュリティサポート 2025/12/08

8.1

2021/11/25

最新バージョン 8.1.27 2023/12/21

セキュリティサポート2024/11/25

(8.0は、2023/11/26 で終了)

WordPressとphpバージョン

WordPressとphpバージョン

WordPressは、本体のバージョンごとに対応するphpバージョンがあります(MySQLのバージョンも関係がありますがここでは割愛します)。参考として、WordPress4.4以降のphp対応表(動作環境、推奨環境)を掲載いたします。※投稿時点での情報です。WordPressのマイナーバージョンアップやphpバージョンアップにより変動することがあります。

WordPress 4.9.5~4.9.xphp 5.2.4~7.2php 7.2以上

WordPressバージョン phpバージョン(動作環境) phpバージョン(推奨環境)
WordPress 6.4 php 7.0~8.3 php 7.4以上
WordPress 6.3 php 7.0~8.2 php 7.4以上
WordPress 6.0~6.2 php 5.6.2~8.2 php 7.4以上
WordPress 5.9 php 5.6.2~8.1 php 7.4以上
WordPress 5.7~5.8 php 5.6.2~8.0 php 7.4以上
WordPress 5.6 php 5.6.2~8.0 php 7.4以上
WordPress 5.5 php 5.6.2~7.4 php 7.4以上
WordPress 5.3~5.4 php 5.6.2~7.3 php 7.3以上
WordPress 5.2 php 5.6.2~7.3 php 7.3以上
WordPress 5.0~5.1 php 5.2.4~7.3 php 7.3以上
WordPress 4.9.0~4.9.4 php 5.2.4~7.2 php 7以上
WordPress 4.7~4.8 php 5.2.4~7.1 php 7以上
WordPress 4.4~4.6 php 5.2.4~7.0 php 5.6以上

現行のWordPressのバージョンとphpバージョン

現行のWordPressのバージョンとphpバージョン

現在利用している現行のWordPressのバージョンとphpバージョンが一致していない場合はWordPressにエラーが生じます。またWordPress本体だけでなく、利用しているテーマやプラグインが利用中のphpバージョンに対応しておらず不具合が発生することもあります。端的には互換性の問題です。

プラグインが対応しているphpバージョン

WordPress本体のバージョンと動作環境phpバージョンが一致していても、利用しているプラグインがphpバージョンと一致せずに不具合が起こるということはよくあります。最新バージョンに更新すると不具合が解消することもありますが、最終更新日が古い場合、新しいphpバージョンに対応しておらず、動作を停止することがあります。

バージョン不一致によるエラーへの対応

バージョン不一致によるエラーへの対応

WordPress本体とphpバージョンが合っていない場合は、ひとまずWordPressをバージョンアップするか、phpバージョンを変更するか、といった変更で対応することができます。

ただ、それに伴いプラグインに不具合が起こっている場合は、原則利用しているプラグインを停止し利用を諦めるか、代替プラグイン等を利用しかありません。

phpメールフォームとphpバージョン

phpメールフォームとphpバージョン

さて、次にphpメールフォームとphpバージョンについて触れていきたいと思います。弊社へのホームページ修正のお問い合わせで意外と多いのが、phpメールフォームの修正です。

メールフォームは、仕様、作り方が千差万別なので修正しようとすると、大掛かりな調査、作業が必要となるため、修正対応できずに新規メールフォームを設置させていただくという代替案を出させていただくことがよくあります。

ホームページ修正事例 メールフォームの内容修正が困難なため新規設置

「それまで普通に使用できていたメールフォーム(お問い合わせフォーム等)が急に使えなくなった」という場合、それがphpで作られたメールフォームである場合は、たいていサーバー会社によるphpバージョンの変更が原因となっています(セキュリティや処理速度向上によるサーバー負荷軽減のためにphpバージョンが変更されることがあります)。

使用できない関数の取り扱い

使用できない関数の取り扱い

最近よくある事例としては、「メールフォームに組み込まれた関数が、バージョンアップされたphpにおいては使用できない」という場合の取り扱いにおいて、「500エラーを返す」というケースです。

php7以降は非推奨で、php7.4までは「裏側で警告が出る程度」だった関数が、php8以降は、「完全に使用できない」というふうに取り扱いが変わっていたりします。

メールフォームエラーへの対策

メールフォームエラーへの対策

バージョンアップされたphpバージョンに、現行のメールフォームが対応していない場合、もしそのメールフォームがオープンソースベースであり、新バージョンのフォームプログラムが用意されているのであればそちらに切り替えることで対策することができます。

phpバージョンを元に戻すということが可能なのであれば、そちらでも対応は可能です(例:php 8.1になっていたため、php7.4に戻す)。しかし、いずれphpのセキュリティサポート終了に合わせて、旧バージョンのphpは利用不可になっていきます。

また、新しいphpバージョンで使用が禁止され、使用すると内部サーバーエラー(500エラー)を起こしてしまう関数を抽出し、その部分の機能を諦めた上で該当部分を削除するという方法でもひとまず対応することができる場合があります。

phpを利用していたものの、それほど繰り返し表示がなく、重要な箇所でもないような場所は、htmlで表現し直すというのも良いかもしれません(WordPressのエラー修正やカスタマイズがうまくいかないときこそHTMLの基本で解決する)。

phpバージョンは新しいほど処理速度も早くセキュリティも向上しています。なるべく新しいものを使うに越したことはありませんが、そのバージョンアップに合わせて、「いきなりプログラムが停止する」ということがあります。

宿命と言えば宿命ですが、WordPressサイトが停止する、メールフォームが停止する等々は、企業のホームページ利用においては致命的です。

定期的なチェック、保守管理、バックアップを含めた各種バージョンアップが必要になると考えられます。


「サーバーのphpバージョンアップの影響によるWordPressやメールフォームのエラー」のカテゴリ Web制作・Web関連
タグ: , ,


ホームページ制作・カスタマイズ、Webマーケティング・SEOなどのお問い合わせ・ご依頼