ホームページ > バックエンド開発 > PHPチュートリアル > PHP mysqli 接続が「ソケット 'MySQL' (2) を介してローカル MySQL サーバーに接続できません」というメッセージで失敗するのはなぜですか?

PHP mysqli 接続が「ソケット 'MySQL' (2) を介してローカル MySQL サーバーに接続できません」というメッセージで失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-12-02 13:17:16
オリジナル
777 人が閲覧しました

Why is my PHP mysqli connection failing with

mysqli::mysqli() エラー: ソケット 'MySQL' 経由の接続が失敗します

を使用して MySQL データベースへの接続を確立しようとすると、 PHP の mysqli クラス、エラー「mysqli::mysqli():」 (HY000/2002): ソケット 'MySQL' を介してローカル MySQL サーバーに接続できません (2)」は、Unix ドメイン ソケット経由で接続を確立できないことを示します。

ソケット エラーの理由

デフォルトでは、「localhost」がホストとして指定されている場合、MySQL は Unix ドメイン ソケット ファイルを使用して接続を試みます。 TCP/IP の代わりに「MySQL」。ただし、このソケットが見つからないかアクセスできない場合、接続は確立できません。

解決策

この問題を解決するには、次の解決策を検討してください。

  • TCP/IP を使用する: IP アドレスを明示的に指定しますTCP/IP 接続を強制するには、「localhost」の代わりに「127.0.0.1」をホストとして使用します。
  • PHP の MySQL ソケット パスを構成します: MySQL 構成ファイル (my.cnf) を開き、 MySQL がソケットを作成するパスを見つけます。次に、PHP スクリプトで、mysqli.default_socket 構成を使用して、PHP のこのパスを設定します。
  • スクリプトでソケットを指定: を使用して、PHP スクリプトでソケットを直接構成します。次の構文:

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

    のホスト構成Web サイト

Web サイトからデータベースにアクセスできるようにする場合は、別のホストの構成が必要になる場合があります。ホスト構成は、Web ホスティング環境のセットアップと MySQL サーバーの場所によって異なります。リモート ホストの構成に関する具体的な手順については、ホスティング プロバイダーに問い合わせることをお勧めします。

以上がPHP mysqli 接続が「ソケット 'MySQL' (2) を介してローカル MySQL サーバーに接続できません」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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