ホームページ > バックエンド開発 > PHPチュートリアル > PHP の mysqli クラス経由でローカル MySQL サーバーに接続できないのはなぜですか?

PHP の mysqli クラス経由でローカル MySQL サーバーに接続できないのはなぜですか?

Barbara Streisand
リリース: 2024-12-04 00:34:10
オリジナル
553 人が閲覧しました

Why Can't I Connect to My Local MySQL Server via PHP's mysqli Class?

Localhost 使用時の「MySQL サーバーに接続できません」エラーのトラブルシューティング

PHP の mysqli クラスを使用して MySQL データベースへの接続を確立しようとすると、エラーが発生する可能性があります:

mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)
ログイン後にコピー

このエラーは、指定されたソケットを介した接続に問題があることを示します。 'MySQL'.

localhost 接続でのソケットの使用法

ホストとして「localhost」を使用して localhost に接続する場合、MySQL はより高速で安全な接続を実現するために Unix ドメイン ソケットを利用しようとします。ただし、ソケットが設定されていない、またはアクセスできない場合、接続はエラー 2 で失敗します。

接続の問題の解決

この問題を解決するには、次のようないくつかの方法が考えられます。

1. Unix ソケットの代わりに TCP/IP を使用する:

接続文字列内の「localhost」を IP アドレス 127.0.0.1 に置き換えます。これにより、TCP/IP 接続が強制的に確立されます。

2. mysqli.default_socket の設定:

MySQL の my.cnf 構成ファイルを見つけて、ソケットへのパスを特定します。次に、php.ini ファイルを開き、「mysqli.default_socket」値をこのパスに設定します。

3. PHP スクリプトでのソケットの構成:

次に示すように、接続を確立するときにソケット パスを PHP スクリプトに直接含めます:

$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock');
ログイン後にコピー

次のいずれかの解決策を実装することにより、を使用すると、Unix ソケット接続をバイパスして、MySQL データベースへの正常な接続を確立できます。

以上がPHP の mysqli クラス経由でローカル MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート