今回は、WordPressで使用中のテーマ・プラグインとPHPの互換性をチェックするプラグイン、「PHP Compatibility Checker」の紹介と使い方を解説したい。
PHPの互換性を確認する理由
さて、なぜPHPの互換性を確認する必要があるのだろうか?おそらく、漠然とだが「やっておくべきだ」という話を耳にしたことがあるだろう。
その理由は、PHPは新しくなるごとに、様々な新しい関数であったり、文章の構造や表記法などを取り入れていくからだ。それにより、サーバーで行われる処理はより効率化し、WEBサイトの表示速度がアップする。
しかしながら、新しいものが取り入れられていくということは、形骸化した古いものが切り捨てられたり、非推奨になるということでもある。
このため、古いバージョンで正常に働いていても、新しいバージョンでは誤作動を起こすものが出てくる。
このため、PHPをバージョンアップするときは、新しいバージョンでちゃんと動いてくれるかどうか、互換性を確認する必要があるのだ。
しかし、残念ながらWordPress自体には、PHPの互換性をチェックする機能は存在していない。
「PHP Compatibility Checker」で互換性を確認しよう
さて、それではWordPressで使っているテーマやプラグインが、最新のPHPに対応しているかどうかを調べるにはどうしたらよいのだろうか?
そんな心配も無用、WordPressには「PHPの互換性を確認してくれる」プラグインもあるのだ。
それが、今回説明する「PHP Compatibility Checker」プラグインだ。
それでは早速、このプラグインを使用してPHPの互換性の確認作業を始めよう。
導入の手順
まずは、管理者画面の左側に存在しているサイドバーの「プラグイン」にカーソルを合わせ、メニューが表示されたら「新規追加」をクリックしよう。
そして、「プラグインの追加」ページが表示されたら、右側の検索ボックスに「PHP Compatibility Checker」とコピペで入力しよう。そうしたら、検索結果の中に体の横にPHPのロゴが描いてあるゾウ(正式名称:ElePHPant)がアイコンになっているプラグインが存在しているはずだ。
これが、今回の作業で必要になる「PHP Compatibility Checker」プラグインだ。「今すぐインストール」を押してWordPressに導入したら、青い「有効化」ボタンを押そう。
これで、インストールは完了だ。
使い方
さて、件のプラグインをインストール・有効化したら、次は管理者画面のサイドバーに存在する「ツール」にマウスカーソルを合わせ、メニューの中にある「PHP Compatibility」をクリックしよう。
そうしたら、このようなページが開かれる。ここで、互換性を確認したいPHPの各バージョンや、プラグイン・テーマを確認する範囲を選択することができる。
なお、2020年10月現在、「PHP 7.4」のラジオボックスが存在しない。
なので、今回は「PHP 7.3」の互換性を確認する。
それでは、「スキャンオプション」から、それぞれのオプションを設定しよう。
まずは「PHP のバージョン」だ。ここは「PHP 7.3」のラジオボタンをクリックしよう。
そして、「プラグイン/テーマの状態」は、「すべてのプラグインとテーマ」を選択しよう。
さて、上記の画像のように選択しているだろうか?しているのであれば、「サイトをスキャン」ボタンをクリックしよう。
そうすると、ボタンの右横に「Now scanning: XXXX (YY of ZZ)」なるものが出現する。これは、現在スキャン中のアイテムと、そのスキャン中のアイテムは何番目で、あといくつのアイテムが残っているかを表示するものだ。
「サイトをスキャン」ボタンは「サイトを再スキャン」ボタンに切り替わるが、現在のスキャンが終わるまで再スキャンは行わないようにしよう。
テーマやプラグインの数が多ければ多いほど時間がかかる。目安として、スキャンするアイテム数が10個以上あるならば30分以上はかかる。なので、気長に待とう。
さて、全てのアイテムのスキャンが終わると、「サイトを再スキャン」ボタンのすぐ下のほうに、「PHP 7.3 互換性のスキャン結果」がずらりと表示される。
普通、最新のテーマやプラグインを使用しているのであれば、このように「互換性あり」と書かれた赤いスタンプが表示される。
なお、今回のスキャンでは、互換性がないプラグインは発見できなかった。
また、各テーマ/プラグインの結果欄の右側に存在する「詳細切り替え」を押すことで、このようにスキャン内容の詳細が表示される。
互換性がある場合は、「PHP 7.3 互換性があります。」と表示される。
しかし、互換性を確認できても「このプラグイン/テーマはスキャンするには大きすぎるため、サーバーのプロセスを強制終了する前にスキップしました。」と表示される場合もある。この現象は、もともとの容量が大きい親テーマや、Wordfenceなどの容量が大きなプラグインで起きてしまう。ただし、互換性はちゃんと確認されているので、気にする必要は無い。
また、「結果をテキストで表示」にチェックを入れると、スキャン結果が全てテキストで表示される。
が、見ての通りわかりづらいので、テキストで表示する理由は薄いと思っている。
また、「レポートをダウンロード」ボタンを押すことで、先ほどのスキャン結果のテキストを入手することができる。
Windowsの「メモ帳」などで確認してみよう。
ちなみに、互換性のスキャン結果の下のほうにある文章とリンク。
注: すべてのエラーメッセージが、選択した PHP のバージョンでは動作しないことを意味するものではありません。このサイトを PHP 7 でテストし、動作確認してみましょう。
これは、「WP Engine」社のサーバー契約のページに飛ぶアフィリエイトリンクなので、クリックする必要は無い。
最後に、「レポートをダウンロード」ボタンのすぐ横に存在する「結果をクリア」をクリックして、元の画面に戻しておこう。
これで、互換性のチェックの説明を終える。
互換性のチェックが全て済んだので、安心して「PHP 7.3」へのアップデートを行うことができる。
備考:「PHP 7.4」の互換性の確認について
さて、先ほども少し触れたが、2020年10月現在、「PHP Compatibility Checker」の互換性チェックは「PHP 7.3」で止まっている。
なので、「スキャンオプション」の中の「PHP のバージョン」のチェック欄(ラジオボックス)には、「PHP 7.4」が存在していない。
この問題については、何ヶ月も前からWordPress公式サイトの「プラグインのサポート」に関するトピックスで、開発者へ「PHP 7.4」の互換性をチェックするアップデートを求める声が上がっているのが現状だ(トピックその1、トピックその2)。しかし、開発状況は難航しているようで(開発状況その1、開発状況その2、開発状況その3)、未だに続報が無い。
なお、トピックの中にはGitHubに存在する「互換性チェックプラグイン」のリンクを紹介している人もいるが、そちらのプラグインもアップデートは2年以上前に止まっているものなので、正直使わない方が良いだろう。
私は、使用中のテーマ/プラグインが全て「PHP 7.3」に対応しているとの結果が出たので、自己責任で「PHP 7.4」にアップデートしたが、もし不安があるのなら控えるのも手だ。なぜなら、「PHP 7.3」のサポートは、まだ1年残っているからだ。
しかし、「PHP 7.2」のサポートは「2020年11月30日」に終了する。
なので、とりあえず「PHP 7.3」には必ずアップデートしておこう。
終わりに
今回は、「PHP Compatibility Checker」というプラグインを使って、現在WordPressで使用中のテーマやプラグインと、新しいバージョンのPHPとの互換性を確認する方法を紹介した。
このプラグインはとても便利だが、残念ながら未だに「PHP 7.4」に対応していない。
私は、自己責任を承知して、「PHP 7.~系統で問題が起きていないのなら大丈夫だろう」ということで、「PHP 7.4」にバージョンアップを行った。
ただし、2020年の10月頃からテストが行われている「PHP 8.0.0」の導入はまだ控えるべきだ。WordPressの公式が出している要請では「PHP 7.4」となっている。また、多くのプラグインも未対応だろう。
しかし、「PHP Compatibility Checker」の開発がこのまま止まったままなら、「PHP 8.0」へバージョンアップを行う際は、別のやり方で互換性を確認する必要が出てくる。
なにはともあれ、「PHP 7.2」のサポートは2020年の11月30日で切れるので、まだバージョンアップしていない人は早めに「PHP 7.3」に上げてしまおう。
それでは、また。