7

我在 OSX 主机上设置了 homestead 2.0 并使用 Sequel Pro。

我可以进行迁移并确认数据已在 Sequel Pro 中迁移,因此数据库连接似乎没有问题。

但是,一旦我尝试从 Laravel 4.2 应用程序获取数据,它就无法检索数据并出现以下错误。

PDOException (2002) 
SQLSTATE[HY000] [2002] Connection refused

这是我的mysql配置。

'mysql' => array(
            'driver'    => 'mysql',
            'host'      => '127.0.0.1',
            'port'      => '33060',
            'database'  => 'homestead',
            'username'  => 'homestead',
            'password'  => 'secret',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => ''

Sequel pro 设置同上,

Name: 127.0.0.1    
Host: 127.0.0.1
Username: homestead
Password: secret
Database:     
Port: 33060

我尝试将主机名更改为“localhost”,家园销毁并启动,但没有工作。为什么??任何建议都有帮助。

4

6 回答 6

16

我有完全相同的问题,我不确定为什么会发生这种情况。然而变化

'host'      => '127.0.0.1',

'host'      => 'localhost',

为我工作。总是比我们预期的要简单!

于 2015-05-07T09:42:20.240 回答
3

对于在其最新版本(5.3)上运行 Laravel 的其他开发人员,我只需更改以下几行:

DB_HOST=127.0.0.1
DB_PORT=3306

进入这个:

DB_HOST=localhost
DB_PORT=33060

显然,33060将转换为3306但现在无法解释为什么localhost应该工作。

于 2016-09-30T12:43:18.863 回答
1

我解决了在 Laravel 的 .env 文件中的主机参数上将地址 127.0.1.1 替换为 localhost 的问题。我正在使用 GNU/Linux Debian 8、Laravel 5.6.3、PHP 7.1.8、Apache 2.4.27 和 (Mysql) 10.1.26-MariaDB。

于 2018-03-02T07:06:00.660 回答
0
'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'homestead',
            'username'  => 'homestead',
            'password'  => 'secret',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => ''

试试这个可能对你有用

于 2015-05-07T09:49:27.307 回答
0

由于某种原因,我遇到了同样的问题,上述方法都不起作用。对我来说,我在 .env 中尝试了这个,我将 DB_HOST 更改为 homestead.local。Homstead 是我网站的名称。这行得通。

DB_HOST=homestead.local
于 2017-04-25T20:40:09.490 回答
0

我通过更新 mariadb 解决了这个问题。我检查了 'brew outdated' 过时的内容,然后使用 'brew upgrade mariadb' reload vagrant 更新了 mariadb 并修复了问题。希望这对你有用。

于 2019-12-28T16:57:33.253 回答