WordPressの欠落しているPHP MySQL拡張を修正する

「Your PHP installation appears to be missing the MySQL extension required by WordPress」というエラーに遭遇しましたか?あなただけではありません。

PHPに欠落しているMySQL拡張

WordPressのセットアップは一般的に簡単ですが、時折、煩わしいエラーが現れることがあります。これらの問題は単純に見えるかもしれませんが、何が間違ったのかを特定するのは混乱することがあります。

これは、PHPMySQL、その他のWordPress関連技術といった技術用語に馴染みがない場合、特に困難です。

よくある問題の1つは、WordPressが使用しているデータベースシステムであるMySQLに関するものです。このエラーはいくつかの方法で表示されることがあります:

  • Your PHP installation appears to be missing the MySQL extension required by WordPress.
  • You are missing a MySQL extension.
  • PHP missing SQL extension.
  • WordPress cannot connect to its MySQL database.

基本的に、このエラーはPHPとMySQLの間の接続切れを示しています。

このエラーは正確にはどういう意味で、どうやって修正できますか?

技術に詳しくなくても心配しないでください。このブログ記事では、5分以内にできる素早い修正方法を案内します。すべてのステップを簡略化したので、プログラミングの知識は必要ありません。できるだけシンプルにしましょう。

あなたのサイトがMySQL拡張エラーを表示していますか?古いPHPバージョンが原因かもしれません:

PHP 5.6のリリース以降、MySQL拡張に重大な変更が加えられました。このバージョンまたはそれ以前を実行している場合、MySQL拡張が誤って設定または不適切にインストールされた可能性があります。

PHPバージョンを確認する方法

まず、サイトが実行しているPHPバージョンを確認してください。WordPressと古いPHPバージョンとの競合は、PHP missing MySQL extensionエラーの原因となることが多いからです。

確認方法は次のとおりです:

  1. WordPressダッシュボードのツール » サイトヘルスセクションに移動します。
WordPressサイトヘルス情報
  1. **’Info’タブをクリックします。下にスクロールして‘Server’**セクションを展開し、PHPバージョンを含むサーバー情報を表示します。
WordPressサイトヘルス情報 PHPバージョン

表示されているPHPバージョンが7以下で始まる場合、更新する必要があります。PHP 8.0以降のバージョンへのアップグレードは、最新のWordPressとの互換性を確保することでこのエラーを解決するだけでなく、潜在的な脆弱性やバグに対処することでサイトのセキュリティとパフォーマンスも向上させます。

WordPressとPHPのバージョン不一致

古いバージョンのWordPressを新しいPHPで実行すると、問題が発生する可能性があります。WordPressは定期的に更新されており、これらの更新に対応することは、セキュリティと技術的な不具合を回避するために不可欠です。

ウェブサイトがマネージドプラットフォームでホスティングされている場合、通常これらの更新は彼らが処理し、サイトを最新かつ安全に保ちます。

WordPressを最新バージョンに更新する方法

WordPressのバージョンを確認するには、管理パネルのダッシュボード » 更新にアクセスします。ここで、***’現在のバージョン’***がリストされています。

WordPressで利用可能な更新

バージョンが4.9以前の場合、更新するのが良いでしょう。これにより、欠落しているMySQL拡張のエラーが解決される可能性があります。WordPressは組み込みの更新マネージャーでこれを簡単にし、ワンクリックで最新バージョンにアップグレードできます。

MySQL拡張がインストールされていることを確認する

PHPとWordPressの両方を更新した後、まだ**’PHP missing MySQL extension’**エラーに遭遇する場合は、MySQL拡張が正しくインストールされているか確認してください。

WordPressダッシュボードのツール » サイトヘルスページに移動し、**’Info’タブに切り替えます。そこから‘Database’セクションに移動し、それを展開して、‘mysqli’または‘mysql’**が拡張にリストされているか確認します。

WordPressサイトヘルス情報 拡張

拡張がインストールされていない場合は、WordPressホスティングプロバイダーのサポートチームに連絡してインストールの支援を求めてください。

代替方法

MySQL拡張がインストールされているが問題が解決しない場合、設定が誤っている可能性があります。

一般的な問題には以下が含まれます:

  • php.iniファイルの形式が間違っている。
  • php.iniファイルのパスや場所が間違っている。

php.iniファイルは、PHP起動時のサイトのメモリ制限など、さまざまなPHP設定を行うため重要です。異なるオペレーティングシステム用にフォーマットされたphp.iniファイル(WindowsサーバーでLinux形式のファイルを使用するなど)を使用すると、問題が発生する可能性があります。

最初に: 修正を開始する前に、ウェブサイトのバックアップを取ってください。WP Stagingを試してみてください

警告: 削除する前に、安全のためにphp.iniファイルのバックアップをダウンロードしてください。

これを解決するには、WordPressホスティングの**/public_htmlフォルダにあるphp.iniファイルを見つけます。ファイルを右クリックし、‘削除’**を選択します。ファイルが削除されたら、ウェブサイトを再起動してエラーが解決されたか確認します。

cPanel経由でphp.iniファイルを削除する

PHP設定を確認する

まだ「PHP missing MySQL extension」エラーに直面している場合、もう1つの解決策はPHP設定を確認することです。

時には、間違ったphp.iniファイルをアップロードしたり、誤ったファイルパスを使用すると、エラーが発生することがあります。このファイルはサイトの動作を決定するため重要です。

異なるオペレーティングシステム向けに用意されたphp.iniファイルを使用すると、よくある間違いが発生します。たとえば、Windows用に設計されたファイルが誤ってLinuxサーバーで使用されることがあります。

まず、FTP/SFTPまたはSSHを使用してウェブサイトに接続します。メインディレクトリ(**"root"**ディレクトリとも呼ばれる)に、phpinfo.phpという新しいファイルを作成します。このファイル内に、次のコードを挿入します:

PHP
<?php
phpinfo();
?>

ウェブブラウザを開いて、yourdomain.com/phpinfo.phpにアクセスします(’yourdomain’を実際のドメイン名に置き換えます)。これにより、PHPインストールに関する詳細が記載されたページが表示されます。

php.iniファイルの情報

PHPの詳細を確認すると、php.iniファイルの場所を特定するのに役立ちます。

変更を加えるには、FTPクライアントを使用して指定されたファイルパスに移動します。「PHP missing MySQL extension」エラーを修正するためにphp.iniファイルを削除する前に、バックアップを取ることをお勧めします。コピーをコンピュータにダウンロードしてください。このバックアップにより、必要に応じて元の設定を復元できます。

まとめ

WordPressの問題を解決することは一般的に簡単ですが、特定の問題を修正するためにいくつかの解決策を試す必要がある場合があります。これは、PHPMySQLのようなWordPressのコア技術が関与する複雑な問題でよくあることです。

PHPとWordPressのバージョンを最新の状態に保つことで、多くの類似の問題を回避できます。

関連記事

Thomas Maier

著者: Thomas Maier

You know me as a publisher, developer, or business owner.
Built the largest German platform for word games and crosswords.
Built the popular Advanced Ads WordPress plugin to effectively monetize websites.
Currently back to the roots developing the Image Source Control plugin for WordPress to manage image attributions, captions, and cleaning up the media library.