PHP 7.xとWordPressの互換性を確認する方法&エラーの検出/修正手順

eyecatch-wp-php
ENGINEER

個人や企業のWebサイトに、WordPressを使用している人は多いでしょう。そんななか今回注目したいのは、Wordpressで使われるPHPのバージョンです。

新しいバージョンのPHPを使用することで、リクエスト処理数を増やして実行処理速度を早められるメリットがあります。たとえばPHP 7.3は5.6と比べて、1秒あたり3倍のリクエストを処理可能。

またPHP 5.6と7.0は2018年末でサポートが終了しており、安全性に関わる重要なバグ修正が適用されなくなりました。WordPressはPHP 7.3に対応したWebサーバーの利用を推奨しており、PHPのバージョンアップデートは安全面で考えると必須です。

しかしPHPのバージョンアップ後に、Webサイトが正しく動作するか不安な人も多いでしょう。そこで本記事では、PHP 7.xと使用中のWordpressとの互換性を確認する方法をご紹介します。

PHPとWordpressの互換性を確認する前に気をつけるべき2つのポイント

互換性を確認する前に、次の2点をチェックしておきましょう。

  • WordPressのバージョンは最新か
  • Webホストの設定に問題はないか

Q1. WordPressのバージョンは最新か?

当然ながら、Wordpressのバージョンが古いほど、最新バージョンのPHPを使うことで問題が発生する可能性が高くなります。テーマを構成するコードやプラグインなどは日々進化しており、数年前に使えたメソッドが非推奨とされたり、時には廃止されたりすることもあります。

そのためPHPのバージョンアップに関する確認作業の前に、最新バージョンのWordPressがインストールされていることを確認してください。WordPressのコア部分、テーマ、プラグインのすべてが最新バージョンであるのが望ましいです。

「自分が使っているテーマとプラグインで、ここ数年新規バージョンがリリースされていない場合は?」という疑問を持つ人もいるでしょう。この場合、PHPバージョンアップ時に問題が発生する可能性があります。テーマやプラグインにサポートされていないコードが含まれていると、エラーが表示されたりページの読み込みができなくなったりします(これが恐怖の「死の真っ白画面」現象です)。

互換性確認作業を行うことで、問題が潜むポイントを把握しやすくなります。ただし、それでもWebサイトの一部は修正や置換が必要かもしれないことを念頭に置いてください。

Q2. Webホストの設定に問題はないか?

もうひとつ注意したいのがWebホストの設定です。

  • どのPHPのバージョンに対応しているか?
  • 問題が起こった際に、簡単にバージョンを替えられるか?
  • PHP 5.6や7.0のサポート終了を予定しているか?

こうしたポイントを明らかにすることで、よりスムーズに確認作業ができます。

PHPとWordpressの互換性を確認する2つの方法

確認方法はその人の持っているリソースやPHPの知識によって異なりますが、ここではいくつかの簡単な方法をご紹介します。

1. ステージングサーバー/ローカルサーバーを使用する

理想的なのは、バージョンアップ後のPHPと同じバージョンを使用しているステージング環境を用意することです。ステージ環境で試すことでバージョンの不具合などを確認できます。

仮にあなたのWebホストがこれに対応していないばあい、ローカルサーバーを活用するのもアリでしょう。BitnamiWAMPXAMPPなどのソフトウェアを使用すれば、比較的簡単にローカルサーバーを構築できます。

どちらの方法にせよ、あなたのWebサイトのクローンを活用することで、互換性の確認作業は格段に楽になります。またデバッグ機能をオンにすれば、フロントエンド・バックエンドともに欠陥がないか、くまなくチェックできます。

2. 互換性チェックツールを使用する

100%正確とはいえませんが、より簡単な方法として「互換性チェックツール」を使うのも良いでしょう。インストールされているWordPressがPHPの特定のバージョンでどのように作動するかを確認できます。

無料のPHP互換性チェッカープラグインを使えば、Webサイトのテーマからプラグインのコードをくまなくチェックし、よく発生する問題を検出してくれます。チェックしたいPHPのバージョンを選択し、残りの作業はプラグインが自動で行ってくれます。チェック終了後には項目別のレポートが作成され、検出された潜在的な問題が示されます。

エラーの検出と修正

WordPressとPHPの互換性にエラーが発生した場合、その原因を突き止めて修正する必要があります。

時にはエラーそのものが原因のヒントをくれることもあります。例えば、特定のプラグインのパスを示すエラーが出たら、コードのどの部分を修正したら問題が解決するかを一目で理解できます。

しかし、常に簡単に解決できるわけではありません。原因がわかりにくいエラーが出た場合、謎を突き止めるためにトラブルシューティングを行う必要があります。

WordPressにおける標準的な手順はすべてのプラグインを無効化し、Twenty Nineteenなどのデフォルトテーマに切り替えることです。このためにも、ステージング環境が使えるに越したことはありません。

エラーの検出と修正手順

  1. まずはすべてのプラグインを無効化し、デフォルトテーマにした状態でWebサイトを読み込んでみましょう。ここでエラーは表示されていませんか? ここではまるっきり標準のWordPressがインストールされている状態なので、おそらくエラーがあったとしても除去されているはずです。
  2. 次に、プラグインをひとつずつ有効化し、フロントエンドで色々なところをクリックしてみましょう。エラーが表示されますか? 細かいポイントまでチェックし、このプロセスを繰り返してください。どのプラグインでもエラーが出なければ、テーマの確認に進みます。
  3. エラーが発生したとしても、どの部分に問題が発生しているのか分かれば解決策が見出せます。サードパーティのプラグインやテーマの場合、まずはサポートフォーラムで他に同じ問題を抱えた人がいないか探してみましょう。そこで解決策が見つかるかもしれませんし、少なくとも作者に問題を報告できます。
  4. それでもエラーが修正できなければ、次のような選択肢があります。
    • 使用しているソフトウェアに互換性問題があることが知られていて、なおかつそれが修正されていないばあい、そのソフトウェア以外に乗り換えることを検討しましょう。
    • 自分でなんとか応急処置をしてサードパーティ製のソフトウェアを使うことも理論上は可能ですが、それは一時的に絆創膏を貼っただけに過ぎません。その後のアップデートによって絆創膏はすぐに剥がれてしまい、Webサイトが上手く機能しなくなる恐れがあります。
    • エラーを引き起こすコードを書いてしまった場合、PHPマニュアルを参照して標準的なコードに修正しましょう。

PHPのバージョンを上げることで処理速度と安全性が向上する

Webサイト上の問題をすべてクリアしてPHP 7.xを使用できるようになったら、あとは羽根を伸ばしてメリットを多いに楽しみましょう。Webサイトのリクエスト処理速度がアップし、ユーザーエクスペリエンスも向上します。

さらに嬉しいのは、PHPにおいて何らかのセキュリティホールが発生したとしても、それが修正されるという安心感が持てることです。自分のWordPressを構成するコードが最新基準に対応しているという満足感もあります。

PHPのバージョンアップは必ずしも楽しいものではありません。むしろエラーの原因を突き止めて修正する作業は、非常にストレスです。しかし費やした時間や労力に値する結果は、必ず得られます。

まとめ

今回はWordPressのPHP互換性を確認する方法をご紹介しました。

WordPressを使ったWebサイト運営において、避けて通れないこの問題。バージョンアップは簡単ではありませんが、Webサイトのパフォーマンスや安全性、ユーザーエクスペリエンスを改善するためには欠かせません。

これをきっかけに、自分のWordpressのPHP互換性を見直してみてはいかがでしょうか?

(原文:Eric Karkovack 翻訳:Yui Tamura)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
エンジニア副業案件
Workship