エラーを修正する方法: 「PHP インストールに、WordPress に必要な MySQL 拡張機能が含まれていないようです」

公開: 2022-11-01

「お使いの PHP インストールには、WordPress に必要な MySQL 拡張機能が欠けているようです」というエラー メッセージは、WordPress の初心者と経験豊富なユーザーの両方を混乱させる可能性があります。 不足している WordPress MySQL 拡張機能をインストールするだけでよいように思えるかもしれませんが、サーバー側での PHP のインストールと構成ははるかに複雑です。 さらに、PHP で使用できるデータベース ドライバは多数あり、それぞれが同じ目的を果たします。

「WordPress に必要な MySQL 拡張機能が PHP インストールに欠けているようです」エラーを修正するためのこの包括的なガイドでは、WordPress がデータベースと通信する方法と、PHP インストールに適切な MySQL 拡張機能がインストールされていることを確認する方法について説明します。 .


WordPress はどのようにデータベースと通信するのですか?

WordPress Web サイトは、動的なデータベース駆動型の Web アプリケーションです。 それは本質的に 2 つのことを意味します: すべての Web サイト コンテンツの大部分は WordPress データベースに保存され、WordPress はデータベースと通信して正しく機能する能力に完全に依存しています。 ウェブサイトにページをロードするたびに、WordPress は一連の操作をバックグラウンドで実行します。

すべての投稿、ページ、およびその他の重要な情報は、静的な Web サイトで見られるサーバー上のファイルではなく、データベースに保存されます。 WordPress PHP は、SQL クエリを送信して要求されたコンテンツを取得し、それをテンプレート ファイルとマージして、Web サイトの訪問者に送信される HTML ページを作成する必要があります。 つまり、WordPress はブラウザで開いたアドレスを解析して一連のクエリ パラメータを作成し、それを使用してデータベースをクエリします。

では、このプロセスにおける PHP の役割は何でしょうか? WordPress インストール、または WordPress コアは、動的な Web サイトを構築する一連の PHP スクリプトです。 プログラミング言語としての PHP は、WordPress アーキテクチャの中心的存在になります。つまり、WordPress データベースと通信するには、PHP インストールを適切に構成する必要があります。 その重要な側面の 1 つは、必要な PHP 拡張機能をインストールして有効にすることです。

WordPress の PHP MySQL 拡張機能

PHP は特別な拡張機能またはデータベース ドライバーを使用して、WordPress が wp-config.php ファイルで提供された資格情報を使用してデータベースへの接続を確立できるようにします。 しかし、この拡張子は正確には何ですか? mysql、mysqli、mysqlnd、pdo_mysql、libmysql など、さまざまなバージョンを見たことがあるかもしれません。 混乱しやすいので、一度対処しましょう。

5.3 バージョンから、PHP は MySQL Native Driver を使用してデータベース サーバーと通信します。 MySQL Native Driver は mysqlnd とも呼ばれ、MySQL が配布する MySQL Client Library (libmysql) の代替品です。 3 つの MySQL 拡張機能 (mysql、mysqli、および pdo_mysql) は、MySQL Native Driver を使用するようにコンパイルされており、PHP で構築された Web サイトで広く使用されています。

PHP は 5.5 バージョンで mysql 拡張機能を非推奨にし、mysqli を優先して PHP 7+ でサポートを削除しました。 この決定に沿って、WordPress はバージョン 3.9 の mysqli 拡張機能を使用します。 pdo_mysql は WordPress でサポートされていないため、「PHP インストールに、WordPress で必要な MySQL 拡張機能がないようです」というエラー メッセージで参照されているデータベース ドライバーは、mysqli PHP 拡張機能です。

PHP インストールに MySQL 拡張機能がないようです

「WordPress に必要な MySQL 拡張機能が PHP のインストールに含まれていないようです」というエラーは何を意味しますか?

「お使いの PHP インストールには、WordPress で必要な MySQL 拡張機能が欠落しているようです」というエラーは、WordPress Web サイトで使用されている PHP バージョンに、mysqli 拡張機能が正しくインストールまたは構成されていないことを意味します。 これにより、WordPress がデータベースと通信できなくなり、その結果、Web サイトでこのような WordPress データベース接続エラー メッセージが表示されます。

WordPress データベース接続エラー

WordPress は、さまざまな理由でデータベース接続エラーを表示することがあります。 WordPress が表示するエラー メッセージは、接続試行中に問題が発生した段階によって異なります。 WordPress データベースと通信できないことに関連する 2 つの主なエラーの違いを理解することが重要です。

wp-config.php ファイルのデータベース情報が正しくない場合、データベース ユーザーに十分な権限がない場合、データベースが破損している場合、または MySQL/MariaDB サーバーが拒否された場合、「データベース接続の確立中にエラーが発生しました」というメッセージが Web サイトに表示されます。接続。 この場合、WordPress は mysqli 拡張機能を使用できますが、後の段階で特定の問題に遭遇します。

Web サイトに「PHP インストールに、WordPress で必要な MySQL 拡張機能が欠落しているようです」というエラー メッセージが表示される場合は、PHP mysqli 拡張機能がインストールされていないか、PHP インストールによってロードされていません。 データベース ドライバーは、データベース接続を確立するための最初のステップである wpdb() グローバル クラスを WordPress が確実に使用できるようにします。

WordPress MySQL Extension Missing エラーの背後にある 3 つの主な理由

WordPress を初めてインストールするとき、または WordPress Web サイトを新しいホスティング インフラストラクチャに移行するときは、すべてのサービスが正しく構成されていることを確認する必要があります。 これには、HTTP 要求を受け入れる Web サーバー、PHP コードの実行を制御する PHP ハンドラー、およびデータベース要求を受け入れて処理する MySQL/MariaDB が含まれます。

最新の Web ホスティング コントロール パネルでは、サーバーに複数の PHP バージョンを同時にインストールできます。 新しいバージョンの PHP を使用するには、以前のバージョンを完全に削除する必要があるため、PHP のインストールに対する従来のアプローチには当てはまりません。 コマンド ラインから実行しなくても、必要なすべての PHP 拡張機能をグラフィカル ユーザー インターフェイスからインストールすることもできます。

VPS または専用ホスティングにサインアップしている場合は、WordPress Web サイトで使用する PHP バージョンを選択できます。また、PHP ハンドラーを選択することもできます。 この自由は、Web サイトを実行するプロセスを簡素化しますが、サーバー側での PHP の動作に慣れていない人にとっては、Web サイトをより複雑にします.

以下では、PHP が MySQL/MariaDB サーバーと通信できなくなる一般的な状況を確認します。 Web サイトに「PHP インストールに、WordPress で必要な MySQL 拡張機能が含まれていないようです」というエラー メッセージが表示される主な理由は次の 3 つです。

  • Web サイトで使用されている PHP バージョンに PHP mysqli 拡張機能がありません。
  • PHP mysqli 拡張機能が正しく構成されていません。
  • 古いバージョンの WordPress を PHP 7 以降で使用しています。

理由 1: Web サイトで使用されている PHP バージョンに PHP mysqli 拡張機能がありません

新しい PHP バージョンを利用可能にしたばかりの場合は特に、mysqli 拡張機能がまったくインストールされていない可能性があります。 WordPress が mysqli 拡張機能を使用できない場合、7.0 より前のバージョンの PHP で古い mysql を使用しようとします。 重要なことは、MySQL Native Driver をインストールして、選択した PHP バージョン用に構成することです。

対処方法

Web ホスティングのコントロール パネルから、またはコマンド ライン インターフェイスを使用して MySQL Native Driver をインストールし、WordPress の mysqli 拡張機能を有効にします。 PHP 8.1 の場合、cPanel を使用している場合、パッケージは php81-php-mysqlnd または ea-php81-php-mysqlnd.x86_64 と呼ばれます。

コントロール パネルのない CentOS サーバーで、コマンド ライン インターフェイスからyum install php81-php-mysqlndを実行します。 Ubuntu サーバーの場合、apt-get で mysqlnd をインストールします。 システムは、mysqli と pdo_mysql の両方のサポートを自動的に有効にします。

理由 2: PHP mysqli 拡張機能が正しく構成されていない

必要な PHP MySQL Native Driver がインストールされると、mysqli と pdo_mysql の両方が有効になり、WordPress で使用できるようになります。 使用している PHP バージョンで拡張機能をロードするには、特別な PHP ファイルが PHP グローバル構成ディレクトリに作成されます。 何らかの理由で、選択した PHP バージョンの mysqli 拡張機能をロードできない場合、WordPress は「WordPress に必要な MySQL 拡張機能が PHP にインストールされていないようです」というエラー メッセージを表示します。

対処方法

MySQL ネイティブ ドライバー (mysqlnd) が正しくインストールされていること、および PHP によって mysqlnd と mysqli の両方の .ini ファイルが追加されていることを確認します。 cPanel サーバーでは、/opt/cpanel/ea-php81/root/etc/php.d ディレクトリに 30-mysqli.ini および 20-mysqlnd.ini 構成ファイルがあります。PHP 8.1 は、によって使用される PHP バージョンです。あなたの WordPress ウェブサイト。 拡張機能を正しくロードするには、ファイルに以下の行が含まれている必要があります。

理由 3: 古いバージョンの WordPress を PHP 7 以降で使用している

可能性は低いですが、新しいバージョンの PHP で非常に古いバージョンの WordPress を使用している可能性があります。 古いバージョンのソフトウェアを使用すると、さまざまな WordPress の問題が発生する可能性が高くなるだけでなく、ハッカーが Web サイトにアクセスして悪意のあるアクションを実行する可能性がほぼ無限に広がります.

対処方法

使用しているすべてのソフトウェアを最新バージョンに更新しておく習慣を身につけてください。 WordPress、アクティブなテーマ、およびすべてのプラグインを更新します。 コードの非互換性やパッチが適用されていないセキュリティの脆弱性に起因する問題を回避するために、常に最新の PHP バージョンを使用してください。

WordPress 管理ダッシュボードにアクセスできないため、WordPress コマンドライン インターフェイスを使用してすべての更新を実行してください。 次のコマンドを使用できます。

  • wp コア アップデート。 WordPress コアを更新します。
  • wp plugin update <プラグイン名>. 特定のプラグインを更新するか、 — all フラグを使用してすべてのプラグインを一度に更新します。
  • wp theme update <アクティブなテーマ名>. アクティブなテーマを更新します。

WordPress で MySQL 拡張機能が見つからないというエラー メッセージが表示された場合は、WordPress Web サイトをより真剣に受け止めるべき兆候です。 特にセキュリティに関しては、すべての側面を管理するための積極的なアプローチをとってください。 WordPress のセキュリティとデータ保護のための業界をリードするソリューションである iThemes Security Pro と BackupBuddy は、プロセスを簡単にし、頭痛の種から解放します。

iThemes Security Pro を使用することは、WordPress Web サイトを 24 時間年中無休で監視するセキュリティの専門家がチームにいるようなものであり、ビジネスの成長に集中することができます。 世界中の 100 万を超える WordPress サイトを保護する BackupBuddy は、Web サイトを定期的に自動的にバックアップし、そのコピーを安全な場所に保存して、必要なときにワンクリックで復元できるようにします。 このようにして、すべての WordPress エラーとマルウェア感染から簡単に回復できますが、覚えておいてください - 攻撃の防止は常に結果に対処することよりも優れています.

サイト スキャン機能は、Web サイトの重要な領域をチェックし、自動的に修正を適用して、Web サイトを大きなリスクにさらす古いプラグインやテーマから解放します。 iThemes Security Site Scan を使用すると、攻撃対象領域を大幅に削減し、あらゆる種類のネットワーク攻撃から Web サイトを安全に保つことができます。

iThemes セキュリティ バージョン管理を使用すると、WordPress コア、プラグイン、およびテーマの自動更新を構成して、新しい機能を活用し、既知の脆弱性から保護することができます。
WordPress を最新の状態に保つことは非常に重要であり、古いソフトウェアによって引き起こされるさまざまな WordPress の問題に対処する時間を大幅に節約できます。

その他の理由

他の WordPress の問題と同様に、「あなたの PHP インストールには、WordPress に必要な MySQL 拡張機能が欠けているようです」というエラーが、上記で概説した以上のさまざまな理由で Web サイトに表示される可能性があります。 ただし、ほとんどの場合、PHP ハンドラーの構成ミス、またはサーバー側で PHP を構成する独自の方法を持つ CloudLinux オペレーティング システムの使用に関連しています。

CloudLinux PHP セレクター

Cloudlinux を使用すると、完全なユーザー分離のための堅牢なソリューションである CageFS を活用できます。これにより、クロスアカウント シンボリック リンク攻撃が防止され、Web サイトが保護されます。 CageFS を使用している場合は、CloudLinux PHP セレクターを使用する必要があります。これにより、通常はサーバー側の PHP を MultiPHP マネージャーから管理する cPanel ユーザーにとって、さらに複雑になることがよくあります。 cPanel で PHP Selector を使用するための CloudLinux ガイドを参照するか、ホスティング プロバイダーにお問い合わせください。

「WordPress に必要な MySQL 拡張機能が PHP インストールに含まれていないようです」エラーの修正方法

エラー「PHP インストールに、WordPress で必要な MySQL 拡張機能がないようです」を修正するには、PHP インストールに MySQL データベース ドライバー (mysqlnd) と mysqli 拡張機能がインストールされ、正しく構成されていることを確認する必要があります。 そうして初めて、WordPress と WordPress データベース間の通常の接続を復元し、Web サイトを再び機能させることができます。

以下の手順に従って、WordPress MySQL 拡張機能が見つからないというエラーを修正します。

  • PHP 情報ページを作成して、PHP 構成を確認します。
  • mysqli 拡張機能がインストールされ、正しく構成されていることを確認します。
  • データベースに接続する WordPress の機能を復元し、将来のエラーを防ぎます。

ステップ 1. PHP 構成を確認するための PHP 情報ページを作成する

PHP インストール構成を確認する最も簡単な方法は、PHP 情報ページを作成することです。 WordPress ウェブサイトのドキュメント ルート ディレクトリに phpinfo.php という名前のファイルを作成し、次のコードを挿入します。

<?php
phpinfo( );
?>

または、SSH 経由で Web サイトにログインしている場合は、次を実行します。 phpinfo.php ファイルを作成し、その権限を調整します。

echo "<?php phpinfo(); ?>" > phpinfo.php ; chown $(stat -c %U .). phpinfo.php

アドレス バーに yourwebsite.com/phpinfo.php と入力して、新しく作成した phpinfo.php ページをブラウザーで開きます。 yourwebsite.com を WordPress Web サイトの実際のドメイン名に置き換えます。 MySQL 拡張機能が見つからないというエラーが原因でコンテンツが読み込まれない場合でも、PHP 情報ページを開く際に問題は発生しません。

以下のようなページが表示されます。このページには、WordPress Web サイトで使用している PHP バージョンのすべての構成が含まれています。 この場合、PHP 8.1 です。 PHP 情報ページがあると、WordPress の「Web サイトに重大なエラーが発生しました」というメッセージを含む、さまざまな WordPress エラーのトラブルシューティングに役立ちます。

ページの上部に、WordPress Web サイトで使用されている PHP のバージョンが表示されます。 最初に確認する必要がある、PHP インストールの最も重要な側面のいくつかを以下に示します。

  • PHP ハンドラ。 Web サイトで使用される PHP ハンドラーがサーバー API として表示されます。 上のスクリーンショットでは、FPM/FastCGI です。
  • ロードされた構成ファイル。 使用中の PHP バージョン用にロードされたメイン構成ファイル。
  • 追加の .ini ファイルが解析されました。 このリストには、MySQL Native Driver (20-mysqlnd.ini) や mysqli 拡張機能 (30-mysqli.ini) をロードするファイルなど、ロードされた他のすべての PHP 構成ファイルが含まれます。

解析された追加の .ini ファイルのリストに、必要な 20-mysqlnd.ini および 30-mysqli.ini ファイルが含まれていることを確認してください。これにより、必要な PHP WordPress MySQL 拡張機能 mysqli が正しくロードされ、Web サイトで使用できるようになります。

ステップ 2. mysqli 拡張機能がインストールされ、正しく構成されていることを確認する

PHP 情報ページを下にスクロールするか、ブラウザの検索オプションを使用して、mysqli および mysqlnd セクションを確認します。 彼らは次々に行くべきです。

mysqli 拡張機能は、クライアント API ライブラリのバージョンが mysqlnd を示しているため、MySQL Native Driver を使用するようにコンパイルされていることに注意してください。 PHP 拡張情報には、MySQL/MariaDB ポートを含む追加の詳細が表示されます。

PHP 情報ファイルのリストの mysqlnd セクションにある API 拡張機能を確認してください。 上のスクリーンショットでは、mysqli と pdo_mysql の両方が有効になっています。

ステップ 3. データベースに接続する WordPress の機能を復元する

PHP 情報ページには、WordPress Web サイトで使用している PHP バージョンに mysqli 拡張機能がインストールおよび構成されているかどうかが表示されます。 見つからない場合は、Web ホスティング コントロール パネルで提供される PHP 管理インターフェイスから、またはコマンド ライン インターフェイスを使用してインストールします。

参照されている 20-mysqlnd.ini および 30-mysqli.ini をチェックして、拡張機能が正しくロードされているかどうかを確認します。 古いバージョンの WordPress を使用している場合は、インストールとすべてのプラグインとテーマを更新してください。

このガイドで概説した手順は、ほとんどの場合、WordPress Web サイトの機能を復元するのに役立ちます。 ただし、前述のように、PHP ハンドラーの構成ミスなど、他の問題が発生する可能性があります。これにより、Web サイトに「WordPress で必要な MySQL 拡張機能が PHP インストールに不足しているようです」というエラー メッセージが表示されることがあります。 問題の原因が明確でない場合は、Web ホスティング サポート チームに連絡して支援を求めることをお勧めします。

まとめ

WordPress MySQL missing extension エラーは、データベースと通信する機能に関連する WordPress の問題の 1 つです。 必要な PHP mysqli 拡張機能が欠落しているか正しく構成されていないため、PHP が SQL クエリを WordPress データベースに送信できないことを示しています。 PHP 7.0 以降、古い mysql 拡張機能は削除され、mysqli が優先されました。mysqli は、MySQL Native Driver を使用するようにコンパイルされた新しい WordPress MySQL 拡張機能です。

他の重大な WordPress エラーと同様に、「WordPress に必要な MySQL 拡張機能が PHP のインストールに含まれていないようです」というエラーが表示される場合は、WordPress の構成を確認し、最善のセキュリティ プラクティスが実施されていることを確認する必要があります。

WordPress Web サイトの管理とセキュリティに積極的なアプローチをとることで、ほとんどのエラーを防ぎ、攻撃面を大幅に減らすことができます。 監視、自動ソフトウェア更新、および定期的なバックアップを構成して、Web サイトをセキュリティの脆弱性やネットワーク攻撃から保護します iThemes Security Pro と BackupBuddy をセキュリティとデータ復旧の専門家のチームにして、Web サイトが決してオフラインにならないようにします。