WordPressサイトを運営しているサーバーのPHPのバージョンアップをしたい。
しかし、WordPressにインストールしているテーマやプラグインが新しいPHPのバージョンに対応していないと、PHPのバージョンアップ後にWordPressサイトが正常に動かなくなるなんてこともある。
そんな不安を解消できるのが「PHP Compatibility Checker」というプラグインです。
今回は実際に「PHP Compatibility Checker」を利用してPHPの互換性を確認して、その後にサーバーのPHPをバージョンアップしてみます。
「PHP Compatibility Checker」の使い方
インストールおよび有効化
メニューの「プラグイン」⇒「新規追加」から「PHP Compatibility Checker」を検索します。
インストールして有効化します。
PHPの互換性チェック
PHPの互換性チェックを始めます。
インストール済みプラグインから「PHP Compatibility Checker」の「スキャンを開始」をクリックします。
スキャンオプションの画面でPHPのバージョンを選択します。(※今回はPHP 7.3で互換性チェックを行います。)
少々時間が掛かるのでしばらく待ちましょう。
約10分後にスキャンが終わりました。以下がスキャン結果です。
「XO Security」でエラーが出ていますので右の「詳細切り替え」をクリックしてエラーの詳細を見てみます。
「結果をテキストで表示」にチェックを入れると、全てのスキャン結果の詳細が見られます。
「レポートをダウンロード」をクリックしてスキャン結果を保存しておきます。
「report.txt」というテキストファイルがダウンロードされます。
以下が「report.txt」の中身です。(※一部伏字にしてあります。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
名称: AddQuicktag PHP 7.3 互換性があります。 名称: Classic Editor PHP 7.3 互換性があります。 名称: Cocoon FILE: /■■■■■/■■■■■■■/public_html/wp-content/themes/cocoon-master/lib/php-html-css-js-minifier.php ------------------------------------------------------------------------------------------------------------------------------------------------------------------- FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES ------------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 | WARNING | Function name "__minifyx" is discouraged; PHP has reserved all method names with a double underscore prefix for future use. 24 | WARNING | Function name "__minifyv" is discouraged; PHP has reserved all method names with a double underscore prefix for future use. 34 | WARNING | Function name "__replace_html_style_for_minify" is discouraged; PHP has reserved all method names with a double underscore prefix for future use. 38 | WARNING | Function name "__replace_html_for_minify" is discouraged; PHP has reserved all method names with a double underscore prefix for future use. 123 | WARNING | Function name "__replace_css_for_minify" is discouraged; PHP has reserved all method names with a double underscore prefix for future use. ------------------------------------------------------------------------------------------------------------------------------------------------------------------- 名称: Cocoon Child FILE: /■■■■■/■■■■■■■/public_html/wp-content/themes/cocoon-child-master/tmp-user/main-before.php ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1 | WARNING | No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 名称: Contact Form 7 PHP 7.3 互換性があります。 名称: Controls for Contact Form 7 PHP 7.3 互換性があります。 名称: Crayon Syntax Highlighter PHP 7.3 互換性があります。 名称: Edit Author Slug このプラグイン/テーマはスキャンするには大きすぎるため、サーバーのプロセスを強制終了する前にスキップしました。 名称: EWWW Image Optimizer このプラグイン/テーマはスキャンするには大きすぎるため、サーバーのプロセスを強制終了する前にスキップしました。 名称: Google XML Sitemaps このプラグイン/テーマはスキャンするには大きすぎるため、サーバーのプロセスを強制終了する前にスキップしました。 名称: Team Members PHP 7.3 互換性があります。 名称: TinyMCE Advanced PHP 7.3 互換性があります。 名称: Wordfence Security このプラグイン/テーマはスキャンするには大きすぎるため、サーバーのプロセスを強制終了する前にスキップしました。 名称: WP Multibyte Patch PHP 7.3 互換性があります。 名称: WP-Optimize - Clean, Compress, Cache FILE: /■■■■■/■■■■■■■/public_html/wp-content/plugins/wp-optimize/includes/class-updraft-smush-manager.php ------------------------------------------------------------------------------------------------------------------- FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 1 LINE ------------------------------------------------------------------------------------------------------------------- 1112 | WARNING | INI directive 'safe_mode' is deprecated since PHP 5.3 and removed since PHP 5.4 1112 | WARNING | INI directive 'safe_mode' is deprecated since PHP 5.3 and removed since PHP 5.4 ------------------------------------------------------------------------------------------------------------------- 名称: WPFront Scroll Top PHP 7.3 互換性があります。 名称: XO Security FILE: /■■■■■/■■■■■■■/public_html/wp-content/plugins/xo-security/inc/admin.php ------------------------------------------------------------------------------------------------------------ FOUND 1 ERROR AFFECTING 1 LINE ------------------------------------------------------------------------------------------------------------ 417 | ERROR | Extension 'mysql_' is deprecated since PHP 5.5 and removed since PHP 7.0; Use mysqli instead ------------------------------------------------------------------------------------------------------------ |
「XO Security」のエラーは対策が必要ですが、その他のいつくかの警告は問題なさそうです。
互換性の対策
互換性の無いプラグイン等は無効化するか削除しましょう。(※当方はエラーが出ていた「XO Security」を無効化しました。)
互換性のチェックと対策が終わったら、「PHP Compatibility Checker」自体もを無効化して削除しておきましょう。
PHPをバージョンアップ
事前対策が終了したので、満を持してPHPをバージョンアップします。
※PHPのバージョンアップ方法は以下のページで解説しています。
「サイトに重大なエラーがありました。」が発生したので対策
互換性チェックと事前対策をしたのにも関わらず、PHPのバージョンアップ後にWebサイトの動作確認をしたら「サイトに重大なエラーがありました。」が発生。
WordPressのデバッグモードをONにして原因を特定したところ、「Crayon Syntax Highlighter」というプラグインが原因で「重大なエラー」が発生していたので対策しました。
※以下のページで解説しています。
動作確認&まとめ
最終動作確認
全ての作業が終わったら、念のため最後にもう一度WordPressのログイン/ログアウトのテストと、Webサイトの動作確認を行いましょう。
問題が無ければ、PHPのバージョンアップは無事完了です。
まとめ
今回の手順のまとめです。
- 「PHP Compatibility Checker」をインストールして有効化
- 「PHP Compatibility Checker」でPHPの互換性チェックを実行
- エラーが出ているプラグインなどは無効化するか削除で対策
- 「PHP Compatibility Checker」を削除
- PHPのバージョンアップを実行
- 動作確認(エラーが発生したら対策)
- 最終動作確認
以上で解決です。