【解決】IIS環境でPHPをバージョンアップ後に「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」エラーが発生

インフラ

IIS環境でPHPをバージョンアップした後、WordPressが「お使いのサーバーのPHPではWordPressに必要なMySQL拡張を利用できないようです。」とエラーを表示することがあります。この問題は、PHPのMySQL関連拡張が有効化されていない場合に発生します。

この記事では、問題の原因と解決方法をステップごとに詳しく解説します。


原因

PHP 7.0以降では、古い mysql 拡張は廃止されており、現在は mysqliPDO_MySQL が必要です。PHPのバージョンアップ後にこれらの拡張が無効になっているか、PHPの設定やモジュールが正しく構成されていないと、このエラーが発生します。


解決手順

1. PHPのMySQL拡張が有効か確認する

PHPの設定ファイル (php.ini) に、必要な拡張が有効になっているか確認します。

手順:

  1. php.iniファイルを開く
    • IISでPHPをインストールしたディレクトリ内にある php.ini をテキストエディタで開きます。
  2. 以下の拡張を検索して有効化
    • 以下の行を探し、コメントアウトされている場合はセミコロン(;)を削除します。
      extension=mysqli extension=pdo_mysql
  3. php.iniを保存し、IISを再起動
    • 設定を保存した後、コマンドプロンプトで以下を実行してIISを再起動します。
      iisreset

2. PHPが正しい拡張をロードしているか確認

PHPがMySQL拡張を正しくロードしているかを確認します。

手順:

  1. phpinfoを使用して確認
    • 以下のコードを含むPHPファイルを作成し、IISの任意のディレクトリに配置します。
      <?php phpinfo(); ?>
  2. ブラウザで確認
    • 上記ファイルをブラウザで開き、mysqli または pdo_mysql が「Loaded Extensions」に表示されているか確認します。

3. PHPとWordPressのバージョン互換性を確認

PHPをアップデートした場合、WordPressやプラグインとの互換性が問題になることがあります。

対処方法:

  • WordPressを最新バージョンにアップデート
    管理画面または公式サイトから最新バージョンをインストールします。
  • 互換性の問題が発生する場合、WordPressの公式ドキュメントを確認してください。

4. PHPモジュールのインストールを確認

PHPのインストールディレクトリに、MySQL拡張のDLLが存在するか確認します。

手順:

  1. ext フォルダを確認
    • PHPのインストールフォルダ内にある ext ディレクトリを確認し、以下のファイルが存在するかを確認します:
      • php_mysqli.dll
      • php_pdo_mysql.dll
  2. DLLがない場合
    • PHP公式サイトから必要なモジュールを再インストールしてください。

5. IISのFastCGI設定を確認

IISがPHPをFastCGI経由で実行している場合、FastCGIの設定が問題の原因となることがあります。

手順:

  1. IISマネージャーを開く
  2. FastCGI設定を確認
    • サーバーまたは対象サイトのFastCGI設定にPHPのパスが正しく指定されているか確認します。

6. ログを確認して詳細を調査

解決しない場合、ログを確認して詳細な原因を調査します。

ログの確認場所:

  • PHPのエラーログ
    php.inierror_log で指定されたファイルを確認します。
  • IISのログ
    %SystemDrive%\inetpub\logs\LogFiles ディレクトリに保存されています。

まとめ

IIS環境でPHPのバージョンアップ後に発生する「MySQL拡張が利用できない」エラーは、設定やインストールの問題が主な原因です。本記事で紹介した手順を試して、環境を修正してください。

コメント

タイトルとURLをコピーしました