ホームページ  >  記事  >  バックエンド開発  >  localhost を使用してデータベース接続にアクセスすることはできませんが、127.0.0.1 を使用するのが通常です。

localhost を使用してデータベース接続にアクセスすることはできませんが、127.0.0.1 を使用するのが通常です。

WBOY
WBOYオリジナル
2016-06-13 12:19:151279ブラウズ

localhost を使用してデータベース接続にアクセスすることはできませんが、127.0.0.1 を使用すると正常に動作します。
cakephp プロジェクトで、データベース設定ファイルのホストが localhost として記述されている場合、それが認識できない場合、「データベース接続 "Mysql" が見つからないか、作成できませんでした。」というエラーが報告されます。 127.0.0.1 に変更してみてください。
Baidu は、この状況の理由が次のとおりであることを発見しました。
localhost は unix sock を使用しています
127.0.0.1 は tcp を使用しています
mysql sock の設定が間違っている場合、localhost はデータベースにアクセスできません。通常は 127.0.0.1 を使用します。

しかし、今何が起こっているのかというと、mysql_connect を直接使用して localhost にアクセスし、データベースにアクセスできるようになりました。そしてそれは同じプロジェクト内にあります。言い換えれば、localhost が通常データベースにアクセスできるかどうかは、unix sock と tcp のどちらを使用しているかには (必然的に) 依存しません。 Cakephp にも対応する独自の操作がありますか?神がそれに答えてくださることを願っています。
------解決策----------------------
ローカルホストを使用してデータベースにアクセスできます。ページを使用していますか?
------解決策のアイデア----------------------
データベース構成の問題については、mysql を確認してください。 mysql ライブラリの下のユーザー テーブルをチェックして、ホストに localhost

があるかどうかを確認します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。