ソケット経由で MySQL サーバーに接続できません: 一般的な PHP エラー
PHP を使用して MySQL データベースへの接続を確立しようとしたときmysqli クラスでは、次のエラーが発生する可能性があります:
mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)
このエラーは示唆していますMySQL クライアント ライブラリが接続に TCP/IP 接続ではなく Unix ドメイン ソケットを使用しようとしているということです。ただし、「MySQL」という名前のソケットが存在しないか、アクセスできません。
エラーについて
MySQL 接続のホスト名として「localhost」を使用する場合、クライアント ライブラリは自動的に Unix ソケット経由で接続を試みます。これは、Unix ベースのシステムでは、より高速で安全な接続方法です。ただし、ソケットが適切に構成されていない場合、またはソケットが存在しない場合、接続は失敗します。
問題を解決する方法
この問題を解決するには、次の方法があります。
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock');
これらのソリューションのいずれかを実装すると、MySQL 接続が正しく確立され、「ソケット経由でローカル MySQL サーバーに接続できません」エラーが排除されます。
以上が私の PHP コードがソケット経由でローカル MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。