ホームページ > データベース > mysql チュートリアル > 私の PHP コードがソケット経由で MySQL サーバーに接続できないのはなぜですか?

私の PHP コードがソケット経由で MySQL サーバーに接続できないのはなぜですか?

Patricia Arquette
リリース: 2024-12-23 13:14:14
オリジナル
298 人が閲覧しました

Why Can't My PHP Code Connect to the MySQL Server via Socket?

ソケット経由で MySQL サーバーに接続できない: トラブルシューティング

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

Unix ドメイン ソケットと TCP/IP 接続

デフォルトでは、MySQL クライアント ライブラリはローカルホストに接続するときに Unix ドメイン ソケットを使用します。これはより高速で安全な接続方法ですが、ローカルホストでのみ使用できます。代わりに TCP/IP を使用して MySQL に接続するには、ホスト名として 127.0.0.1 を指定するか、--protocol=TCP オプションを使用します。

エラーの解決策

このエラーを解決するには、いくつかの方法があります。

  • を使用します。 TCP/IP 接続: PHP スクリプトでホスト名を 127.0.0.1 に変更し、TCP/IP 接続を強制します。
  • ソケット パスの構成: Unix へのパスを見つけます。 MySQL 設定ファイル (my.cnf) にソケットを追加し、php.ini の mysqli.default_socket をそれに設定します。 path.
  • PHP でソケットを直接構成する: 以下の例に示すように、接続を開くときにソケット パラメーターを使用してソケット パスを直接指定します:
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
ログイン後にコピー

以上が私の PHP コードがソケット経由で MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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