それまでPHP5.4のままにしており、サポートも終了していることから、そろそろPHP7.2にバージョンアップしようかなと思った時のことです。
現在利用している、さくらのサーバーでは、コントロールパネルからワンクリックで切り替えられることから、おもむろにPHP7.2に切り替えてみました。
そして、サーバー配下の各サイトの表示を確認してみたところ、WordPressサイトを開くと、何も表示されず、真っ白な背景に、以下のようなエラーメッセージが表示されました。
お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。
一瞬、意味が分かりませんでしたが、とりあえず、さくらのレンタルサーバーでは、同じくワンクリックで前のPHPバージョンに戻せるため、戻したところ、サイト自体は元に戻りました。
このエラーに対して、いろいろ調べてみたところ、php.iniの編集やMySQLのPHP拡張のインストール等々、なにやら難しそうな対応方法が紹介されていました。
確かに、「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」というエラーメッセージをそのまま読めば、PHP7.2に上げたことにより、MySQL拡張を利用できない、つまりPHP側に問題があるというように読み取れます。
さくらのコントロールパネルでは、「PHP設定ファイルの編集」から、php.iniの編集などもできるようになっています。
しかし、PHP言語に詳しいわけではありませんし、いろいろなサイトで紹介されている、php.iniの編集方法を試してみて、もし万が一、PHP自体に不具合が生じたら、さらに面倒です。
なので、ゆくゆくはセキュリティに問題が出てくるかもしれませんが、現状のPHPバージョンで特に支障があるわけではないので、とりあえず、このままの前のPHPバージョンにしておこうと思ったのです。
しかし、その後もいろいろ調べてみると、WordPress自体はPHP7を推奨しており、WordPressの最新バージョンでは、PHP7にも対応済みというような記事を見たことから、もしかしたら、WordPressのバージョンアップをすれば、今回の「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」というエラーメッセージは解消されるかなと考えました。
WordPressのバージョンアップを行う
しかし、それまでのWordPressのバージョンは3.7.27で、バージョンアップによる影響を考えるとついつい面倒になり、何年もバージョンアップをしていない状況です。
この時点の最新のWordPressのバージョンは4.9.7ですので、バージョンアップをすると、何かしら影響があるのではないかと考えました。
そこで、いきなりバージョンアップをするのではなく、さくらのサーバーにデフォルトで付いている「バックアップ&ステージング」機能を使い、ステージングサーバーで、まずテストをしてみることにしました(詳しくは⇒当サイト「さくらのバックアップ&ステージング機能の使い方(Snapup)」を参照)。
ステージングサーバーとは、本番サーバーと同じ環境のテストサーバーの事で、さくらのレンタルサーバーを利用されている方は、無料で利用できる機能です。
早速、このステージングサーバー上で、対象となるWordPressサイトのバージョンアップを行ったところ、現行のPHPバージョン、5.4では問題ないことが検証できました。
この結果を元に、本番サーバーのPHP5.4で、WordPressサイトのバージョンアップを行ったところ、同じく、無事バージョンアップを行うことができました。
さて、いよいよ問題のPHP7.2にバージョンを上げて、果たして、WordPressサイトの「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」というエラーメッセージが解消されるかどうかです。
早速、さくらのコントロールパネルから、PHP7.2に切り替えてみたところ、無事、「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」というエラーメッセージは消えていました。
しかし、エラーメッセージは表示されなくなったのですが、画面が真っ白で、サイトの内容が表示されないという状態は変わりませんでした。
この画面が真っ白になるという状態は、調べてみたところ、どうやらWordPressのプラグインが原因のようなので、プラグインに対する対処により、この真っ白になるという状態もその後解消されました。
以上、PHP7.2にバージョンアップを行った際のエラーメッセージ「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」に対する対応についてでした。
今回、特にphp.iniなどは一切触れずに、単にWordPressのバージョンアップのみで解消しましたが、環境によって、原因はさまざまかと思いますので、必ずしもWordPressのバージョンアップのみで解消できるのかは定かではありません。
しかし、WordPressのバージョンアップ自体は、思っていたよりも問題なくできたため、同じように以前のバージョンのまま使っている方は、まず試してみてもいいのかもしれません。