2017-07-19 33 views
1

首先讓我說,我解決我的問題sqlstate[hy000] [2002] connection refused按照這個計算器的問題:Laravel: SQLSTATE[HY000] [2002] Connection refused爲什麼127.0.0.1不能在Laravel的.env&database.php文件中使用,但'localhost'會?

但是我很困惑,爲什麼本地主機作品和127.0.0.1沒有。有人可以解釋這些差異嗎?只要你的127.0.0.1被映射到/ etc/hosts文件中的localhost,我認爲它們是同樣的東西。

不太確定,如果這個問題需要更多的信息,那麼,如果你這樣做,我會很樂意提供它。

編輯:對不起,如果這是一個措辭不佳的問題,我把問題儘可能簡單。考慮到這個問題的'問題'不再存在,我真的只是尋找更多的解釋,爲什麼上面的Stackoverflow問題的答案工作。答案中沒有提供太多的信息。如果我自己這樣說,就很難給出答案。

編輯2:我的系統設置由Virtualbox,Vargant和Laravel Homestead組成。我有一個在33060(安裝時標準端口)設置mysql端口的流浪盒。我可以通過SQLPro連接到127.0.0.1:33060就好了。但是,通過我的Laravel應用程序,我無法通過127.0.0.1本地主機連接。如果我能夠在應用程序中同時使用本地主機和SQLPro中的127.0.0.1,那麼這仍然是我的配置MySQL的問題?這是否意味着我應該能夠連接到或者反之亦然?

+0

查看https://serverfault.com/questions/295285/mysql-cannot-connect-via-localhost-only-127-0-0-1?rq=1 – Shadow

回答

1

如本服務器的默認問題MySQL cannot connect via 「localhost」, only 127.0.0.1中所述,當指定localhost時,mysql連接到unix套接字,但如果提供了127.0.0.1,則連接到網絡套接字。

根據您的mysql配置方式,並非兩個通道都可用。此外,操作系統或防火牆配置也可能會阻止mysql使用網絡連接。

+0

編輯問題添加更多信息,相應地閱讀並編輯您的答案。 –

+0

我的回答沒有什麼可改變的。 – Shadow

+0

添加,現在檢查。 –

相關問題