我在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' => ''
续集专业设置与上述相同,
Name: 127.0.0.1
Host: 127.0.0.1
Username: homestead
Password: secret
Database:
Port: 33060
我尝试将主机名更改为' localhost',homestead destroy and up,但是没有工作。 为什么??任何建议都有帮助。
答案 0 :(得分:12)
我有完全相同的问题,我不确定为什么会这样。 无论如何改变
'host' => '127.0.0.1',
到
'host' => 'localhost',
为我工作。总是比我们期望的更简单!
答案 1 :(得分:1)
对于那些在Laravel上运行最新版本(5.3)的其他开发人员,我只是更改这些内容:
DB_HOST=127.0.0.1
DB_PORT=3306
进入这个:
DB_HOST=localhost
DB_PORT=33060
显然,33060
将转换为3306
,但现在无法解释为什么localhost
应该有效。
答案 2 :(得分: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。
答案 3 :(得分:0)
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'homestead',
'username' => 'homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => ''
试试这个可能对你有用
答案 4 :(得分:0)
由于某些原因,我遇到了同样的问题。对我来说,我在.env中尝试了这个。我将DB_HOST更改为homestead.local。霍姆斯特德是我的网站的名称。这很有用。
DB_HOST=homestead.local
答案 5 :(得分:0)
我通过更新mariadb解决了这个问题。我检查了什么是“ brew陈旧的”过时的,然后用“ brew upgrade mariadb”的重新加载流浪者更新了mariadb,并解决了问题。希望这对您有用。