問題:あるサーバー上の 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 をインストールするグラフィカル チュートリアル
昨夜、MySQL データベースにデータセットを挿入したときにエラーが発生しました。データベースは容赦...
結果: 実装コード: html <div class="buttons"&...
MySQL 5.x と MySQL 8.0.X のいくつかの違いapplication.proper...
1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...
私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...
JavaScriptで格納可能なセカンダリメニューを実装するための具体的なコードは参考までに。具体...
目次条件付きコンパイルページレイアウト要約する条件付きコンパイル条件付きコンパイルでは、特別なコメン...
HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...
目次1. オプションの連鎖演算子 [? .】 2. 論理的な空の代入 (?? =) 3. 論理和代入...
用語: 1. VM: 仮想マシンステップ: 1. Windows 10 に VirtualBox 6...
目次1. 需要1. 需要2. SDKパラメータ設定1. ディレクトリ構造3. コードの実装1. バッ...
コードをコピーコードは次のとおりです。 html {オーバーフロー: 非表示; }体{オーバーフロー...
MySQL 5.7.17、現在最新バージョンのようです、ダウンロードアドレスここで、プラットフォーム...
まず、github から nacos の圧縮パッケージをダウンロードします: https://git...
コンテキストの定義と目的コンテキストは、コンポーネント ツリーにプロパティを明示的に渡すことなく、コ...