問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続できませんが、127.0.0.1 に設定すると正常に接続でき、他のデータベース サーバーにも正常に接続できます。 MySQL の権限が正しく設定されており、mysql コマンドライン クライアントを介してデータベースに正常に接続できます。 分析:これはソケットが正しく構成されていない典型的なケースです。 MySQL データベースに接続するには、TCP/IP (一般にポートと呼ばれるもの) と Unix ソケット (一般にソケットまたはソックスと呼ばれるもの) の 2 つの方法があります。ほとんどの場合、localhost はローカルマシン 127.0.0.1 を表すために使用できますが、MySQL に接続する場合は 2 つを混在させることはできず、また、MySQL の権限設定でも localhost と 127.0.0.1 が別々に設定されます。 127.0.0.1 に設定すると、システムは TCP/IP 経由でデータベースに接続します。localhost に設定すると、システムはソケット経由でデータベースに接続します。 解決策: まず、ローカル MySQL のソケット ファイルがどこにあるかを確認します。確認するコマンドは次のとおりです。 mysqld --verbose --help | grep ソケット 出力にはソケットファイルの場所が表示されます。たとえば、このサーバーでは ソケット /var/run/mysqld/mysqld.sock 次に、それに対応するように PHP 設定ファイル php.ini を変更します。 これを見つけてください: mysql.default_socket = 通常、この項目は空なので、次のように変更します。 mysql.default_socket = /var/run/mysqld/mysqld.sock 前の手順で照会したファイルをここに書き込んで、状況に応じて設定する必要があります。この時点で、PHP の設定が変更されています。CLI (コマンドライン) モードまたは CGI モードの場合は、すぐに有効になります。FASTCGI モードの場合は、fastcgi プロセスを再起動する必要があります。 上記の記事は、MySQL が localhost 経由でデータベースに接続できない問題を完全に解決します。これは、編集者があなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。 以下もご興味があるかもしれません:
|
<<: VMWare に CentOS 7.3 をインストールするグラフィカル チュートリアル
出典: https://blog.csdn.net/qq_44761243/article/deta...
目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...
さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...
目次現象根本原因分析getLastPacketReceivedTimeMs() メソッドの呼び出し時...
Dockerコンテナ接続1. ネットワークポートマッピングPythonアプリケーション用のコンテナを...
1. 仮想マシン(物理マシン)をインストールする仮想マシンまたは物理マシンにインストールできます。 ...
目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...
序文部門テーブルなどのデータベース内のツリー構造データの場合、部門のすべての従属部門または部門のすべ...
まず、私たちがやりたいことは、serverA の usera を使用して、パスワードなしで serv...
画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...
目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...
この記事では、参考までに、シンプルなショッピングカートケースを実装するためのVueの具体的なコードを...
Hexo は Windows 10 でカスタムドメイン名を GitHub にバインドしますまずドメイ...
シナリオ1. ID番号のフィールドを備えた市民システムを維持する2. ビジネス コードでは、重複する...
CSS を使ってさまざまなグラフィックを実現できるのは素晴らしいことです。画像を切り取る必要はなく、...