WordPressで使用するPHPのバージョンを7.4.4にする方法とMySQL5.7に変更する方法について書いています。
また、WordPressのバージョンを「5.6.40」から「7.4.4」に変更するときに、いくつかエラーなる箇所がありましたので、その点も踏まえて変更方法を説明しています。
PHPバージョン切替えにあたり
使用しているプラグインやテーマで、PHP7.4.4で使用できないPHPの関数や構文があるとバージョンの切替えができません。
もし、プラグインやテーマにPHP7.4.4で使用できない関数や構文があるとき、プラグインなら無効化して、必要な機能なら別のプラグインを探して使用します。テーマも使用できない関数や構文がある場合、テーマの修正や変更が必要になります。
また、PHP7.4.4にするには、MySQLに MariaDB5.5(旧MySQL5.0) を使用している場合、MySQL5.7に変更する必要があります。
では、PHPとMySQLのバージョンの変更方法をそれぞれ順に説明していきます。
PHPの互換性確認
使用しているプラグインとテーマの互換性は、WordPressのプラグインを使用して確認します。
※先にPHPのバージョンを切替えてみて、その後に生じるエラーをエラーログから発見し、問題のプラグインを取り除くやり方もありますが、エラーの過程でブログが一時的に表示がされない状態になりますのでおすすめできません。
プラグイン「PHP Compatibility Checker」で互換性を確認
PHPの互換性確認には、プラグイン「PHP Compatibility Checker」を使用します。現在PHP7.3までの互換性を確認できます。
プラグインをインストールしていない方は、インストールをして有効化すると、ダッシュボートの「ツール」に「PHP Compatibility」と表示が追加されます。クリックして設定ページを開きます。
「PHPのバージョン」を「PHP7.3」に、「プラグイン/テーマの状態」を「すべてのプラグインとテーマ」にチェックして、「サイトをスキャン」または「サイトを再スキャン」をクリックして互換性をチェックしてもらいます。
プラグインに互換性の問題があるときは、下のように表示して教えてくれます。
もし、エラー表示されているプラグインがあるなら、そのプラグインを無効化します。
この段階で、PHPのバージョンをPHP7.3.16までなら切替えて問題ないはずです。しかし、PHP7.4.4にするには、MySQLのバージョンも5.7に変更する必要があります。
プラグインで互換性を確認して対処した場合は、この下の「エラーログで確認」は飛ばして、「MySQL5.7に設定する方法」に移動してください。
※互換性で問題があってもブログ表示エラーにならない場合も有り
「PHP Compatibility Checker」で互換性(PHP7.3)をチェックして結果、プラグインにエラーや警告があったとしても、PHPバージョン7.3.16に切替えてエラーもなく表示されることもあります。
私の場合も、いくつか有効化しているプラグインにエラー表示がありました。しかし、サイトは表示されています。ただ、問題あるプラグインは、使用することはおすすめしません。
エラーログで確認
おすすめしませんが、PHPのバージョンを切替えると互換性に問題がある場合、エラーが発生してサイト表示されなくなります。
このとき、エラーログから問題あるプラグインを見つけて無効化することで、サイトが表示されるようになる可能性があります。
エラーログを見るには、エックスサーバーのサーバーパネルにある「アクセス解析」⇒「エラーログ」ページに移動します。
「エラーログ」画面を開いたら、エラーログをダウンロードします。
ダウンロードしたエラーログの最後のほうにあるログを確認すると、エラーになった原因が書いてある可能性が高く、もしプラグインなら無効化してみるとPHPの切替えがうまくいく可能性があります。
例えば、エラーになるプラグインを無効化したあとにPHPを切替えると、ブログが表示されるようになる可能性が高いです。
※私の場合、エラーログでプラグイン「DB Cache Reloaded Fix」が問題を起こしているのを発見。「DB Cache Reloaded Fix」を無効化することで、PHP5.4.60 から PHP7.3.16 に変更することができました。
MySQL5.7に変更する方法
MySQLのバージョン(MariaDB5.5(旧MySQL5.0))を使用している場合、PHP7.3.16までは利用可能です。
PHP7.4を利用するには、MySQL5.7に移行する必要があります。
MySQLバージョン確認
MySQLのバージョンを確認するには、サーバーパネルを開いて、「データベース」⇒「MySQL設定」ページを開くと使用しているMySQLのバージョンを確認できます。
データベースのバックアップ
MySQLを別バージョンに移行する前に、トラブルが発生した場合に備えて、データベースをバックアップしておくことをおすすめします。
バックアップする方法は、いくつかあります。
例えば、サーバーパネルにある「データベース」から「MySQLバックアップ」を開いて、ダウンロードしたいデータベースのファイルを「ダウンロード実行」をクリックして保存します。
MySQLのユーザとパスワードをデータベースごとに設定する
複数のWordPressを使用している場合、ユーザーやパスワードを同じもの使用しているとMySQLの切替えができませんので、ユーザとパスワードをデータベースごとに切替えていきます。
「データベース」から「MySQL設定」を開いて「MySQLユーザ追加」タブを開きます。
「MySQLユーザID」と「パスワード」を設定します。このとき、パスワードは使い回さないようにしてください。
「MySQL一覧」タブを開いて、「アクセス権未所有ユーザ」に作成した「MySQLユーザID」を選択して「追加」します。
「アクセス権未所有者」を設定した後、「アクセス権所有ユーザ」から使用しないユーザを削除します。
※データベースが複数ある時は、データベースそれぞれに違うユーザとパスワードを作成していきます。
wp-config.phpファイル編集
「ユーザID」と「パスワード」を作成してデータベースに追加すると、wp-config.phpファイルの値を変更しないとデータベース接続エラーになります。
エックスサーバーにログインして、ファイル管理ページを開き、ドメイン/public_html/フォルダにある「wp-config.php」ファイルを開きます。
「MySQL データベースのユーザ名」と「MySQL データベースのパスワード」にアクセス所有権ユーザIDとパスワードで設定した値に変更します。
xxxxには、ユーザIDを設定、yyyyにはパスワードを設定します。
/** MySQL データベースのユーザー名 */
define('DB_USER', 'xxxx');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'yyyy');
MySQL5.7に移行
データベースの設定を終えたら、「データベース」⇒「MySQL移行ツール」ページを開きます。
移行にあたり条件がありますけれど、ここまでの設定で条件をほぼクリアできているので、「MySQL移行ツールの利用を開始する」をクリックします。
※データベースは容量2GBを超えていると移行ツールが利用できないのですが、よほどのことがない限り2GBを使うことはないはずです。
※MySQLのユーザIDやパスワード設定をせずに「MySQL移行ツールの利用を開始する」をクリックした場合、仮に複数のデータベースで同じパスワードを使用している場合、下の画像にあるようにパスワードの変更を求める表示がされます。
そのときは、「データベースのパスワードだけ変更する場合」を参照してください。
「MySQL移行ツールの利用を開始する」をクリックしたあと、「MySQL移行ツール」画面が表示されるので、移行する「データベース名」欄にある「移行(確認)」ボタンを押します。
「MySQL移行ツール」にある「MySQLデータベース」の名前を確認して、「MySQL5.7へデータベースの追加(確定)」をクリックします。
「MySQLへデータベースの追加(確定)」を押したあと、移行が完了すると下の画像のように表示されます。
移行完了したら、「データベース」⇒「MySQL設定」ページを開いてMySQL5.7になっているのを確認します。
MySQLのホスト名を変更する
MariaDB5.5(旧MySQL5.0)からデータベースの移行が完了した場合、「ドメイン/public_html」フォルダのwp-config.phpファイルにある「MySQL の ホスト名」を「mysql5b.xserver.jp」に変更します。
これでMySQLの設定は完了です。
/** MySQL のホスト名 */
define('DB_HOST', 'mysql5b.xserver.jp');
PHP7.4.4にバージョン変更
PHPの互換性のチェックが終わり、MySQL5.7へ移行完了後、PHP7.4.4に変更します。
サーバーパネルにある「PHP」⇒「PHP ver.切替」をクリックして「PHPバージョン切替」ページを開きます。
「設定対象ドメイン」には、PHP7.4.4に切替えるドメインを選択し、「変更後のバージョン」のところを「PHP7.4.4(推奨)」を設定して「変更」をクリックします。
「PHPバージョンを「PHP7.4.4」に変更しました」と表示されたら、これで設定完了です。
もし、PHP7.4.4に変更してエラーが出た場合、エラーログから確認を参考に問題点を探していきます。
※データベースのパスワードだけ変更する場合
サーバーパネルにある「データベース」から「MySQL移行ツール」ページを開くと、ページ下に「MySQL移行ツールの利用を開始する」ボタンがあります。
ボタンをクリックした後、「MySQL移行ツール」で下のように表示された場合、データベースごとに違うパスワードにします。
「MySQL設定」ページに移動して、「MySQLユーザ一覧」タブを開いて、「パスワード変更」にある「変更」をクリックしてパスワードを変更します。
データベースのパスワードを変更すると、「データベース接続エラー」でサイトが表示されなくなります。
データベースに接続するために、エックスサーバーにログインして、ファイル管理を開き、「ドメイン/public_html/wp-config.php」ファイルを開きます。
「MySQL データベースのパスワード」にあるyyyyを「MySQL設定」で変更したパスワードに変更することでブログ(サイト)が表示されます。
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'yyyy');
コメント