問題:あるサーバー上の 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 4.x 以降では、全文検索 MATCH ... AGAINST モード (大文字と小文字...
ウェブサイトを作成するユーザーの多くが、このような問題に遭遇すると思います。Chrome のデフォル...
1. はじめに最近ブログをアップグレードし、記事ページの下部に前の記事と次の記事に直接ジャンプできる...
目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...
目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...
この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...
1. はじめにこの記事には MySQL インストール部分のスクリーンショットがないので、ある程度の基...
序文IE の将来のすべてのバージョンで Web ページの外観が一貫していることを保証するために、IE...
Docker を実行するには root 権限が必要です。非 root ユーザーに docker コマ...
カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...
目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...
インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...
目次1. 概要2. シンプルなクラスを定義する3. 継承4. public、private、prot...
Code Cloudで新しいプロジェクトtest1を作成します。 公開鍵を取得するには次のコマンドを...
最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...