2017-07-19 94 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

添加,现在检查。 –

相关问题