WordPress5.1 PHPの対応バージョン
WordPress5.1よりPHP5.6以上が必要になります。
PHP5.5などのバージョンを使用している場合、管理画面ログイン直後の画面に警告が表示されるようになります。
また、今年の年末にかけてバージョンアップが予定されているようで、その際はPHP7以上が必要となるようです。
古くからWordPressでサイトを運営している場合、古いバージョンのPHPを使用しているケースは多いと思われます。
その場合、年末にかけPHPバージョンアップの検証作業が必要になってくるかと思います。
個人レベルで検証方法をまとめましたので、参考にして頂ければと思います。
※対応する際は個人の責任でお願い致します。
現在のphpバージョン確認
まずは現在のPHPバージョンを確認します。
以下のコマンドで確認することが出来ます。
# php -v PHP 5.5.34 (cli) (built: Mar 29 2016 19:27:57)
ここで5.5と出てきたらバージョンアップの対象になってきます。
PHPバージョンアップ前に確認すること
PHPバージョンアップを行う前に現在使用しているテーマやプラグインが、バージョンアップ後のPHPに対応しているかどうか調べる必要があります。
これを確認しないでバージョンアップするとサイトが表示されなくなる事態になるので、必ず確認しなくてはなりません。
そんな時、以下のプラグインが役立ちます。
「PHP Compatibility Checker」です。
「PHP Compatibility Checker」を使うと、現在使用しているテーマやプラグインがPHPのバージョンに適応しているかチェックしてくれます。
PHP Compatibility Checker の使い方
まずは、プラグインのインストールしましょう。
※インストール方法は割愛します。
プラグインのインストールが完了したら、さっそく「サイトをスキャン」しましょう。
なお、2019年4月時点ではphp7.3がリリースされていますが、このプラグインは7.2までしか対応していないようです。
実行中は以下の通り、「Now scanining」と表示されます。しばらく待ちましょう。
チェック完了後、以下の通り結果が表示されます。
プラグインの更新で対応可能な場合は「更新版を利用可能」と表示されます。
プラグインが対応していない場合は赤色でエラーが表示されます。
「PHP Compatibility Checker」の注意点
テスト環境がある場合、サイトにbasic認証を設定して、関係者のみがアクセスできるよう保護している場合があります。
その場合、ツールが動かない場合があるので、ご注意ください。
画面上の表示としては、「サイトをスキャン」の横に進捗が表示されるものの
すぐにきえてしまう状態でした。
apacheのログを確認したところ、以下のエラーが出ており、basic認証が影響していたのだと判明しました。
POST /wp-admin/admin-ajax.php?action=wpephpcompat_start_test HTTP/1.1 401 484
「PHP Compatibility Checker」でエラーとなった原因の調査と対応
筆者の環境では以下のプラグインでエラーが発生しました。
「Contact Form DB」は、フォームを簡易的に作る「Contact Form 7」の拡張プラグインで、問い合わせの内容をデータベースに保存できる機能を追加できます。
エラーの内容は以下の通り
CFDBQueryResultIterator.php CFDBWpdbUnbufferedResultIterator.php xx | ERROR | Extension 'mysql_' is deprecated since PHP 5.5 and removed since PHP 7.0; Use mysqli instead
エラーの内容について
PHP7から’mysql_’の名前のつく関数が使えなくなったようです。
対応について
エラーが発生している行数を確認したところ、関数あるなしチェックしており、実際には分岐で実行されないロジックだと判明したため、対処は見送りました。
チェック完了後は・・・
さくっとPHPのバージョンをあげちゃいましょう!
※手順は環境によって異なりますので割愛させて頂きます。
バージョンをあげる前にバックアップをお忘れなく!!
※当サイトは個人で検証したものです。
参考にされる場合は自己責任にてお願い申し上げます。
コメント