Laravel Homestead无法连接到db

mur*_*rum 1 php mysql database laravel laravel-4

使用Laravel Homestead时,我无法连接到数据库.我真的不明白为什么它不起作用我已经尝试了该死的一切我猜.现在我陷入困境,无法尝试更多,我开始与更多人互动.stackoverflow有什么好的答案或建议给我?:)

这是我的设置

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => $_ENV['DB_HOST'],
    'database'  => $_ENV['DB_NAME'],
    'username'  => $_ENV['DB_USERNAME'],
    'password'  => $_ENV['DB_PASSWORD'],
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'port'      => '33060'
)
Run Code Online (Sandbox Code Playgroud)

我也用同样的回答尝试了这个.

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => $_ENV['DB_HOST'],
    'database'  => $_ENV['DB_NAME'],
    'username'  => $_ENV['DB_USERNAME'],
    'password'  => $_ENV['DB_PASSWORD'],
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'port'      => '3306'
)
Run Code Online (Sandbox Code Playgroud)

这是我的ENV变量.

{
host: "127.0.0.1",
database: "homestead",
username: "homestead",
password: "secret"
}
Run Code Online (Sandbox Code Playgroud)

回报是:

PDOException
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (111)
Run Code Online (Sandbox Code Playgroud)

在两个迁移中作为网站.

它可以与Sequel Pro连接,它在Sequel Pro中看起来像这样. 在此输入图像描述

编辑:我的VagrantBox的IP和MAMP之间是否有可能发生某种冲突?我已经停止了我正在运行的所有MAMP但仍然是同样的问题,只是想知道我是否需要在其他地方停止它?

Joe*_*inz 7

您根本不需要指定端口,我将删除该行.对于主持人,请尝试localhost改为.还要确保Homestead最有可能使用您设置数据库的环境local.

MAMP不能与它冲突,除非你在某个时候手动将你的MAMP MySQL端口设置为33060,我非常怀疑.

这是一个适合我的默认文件:

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'mydbname',
    'username'  => 'homestead',
    'password'  => 'secret',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),
Run Code Online (Sandbox Code Playgroud)

Lycka直到!

  • 非常感谢!问题是"主持人",我也做了流浪汉破坏&&vagrant up然后它工作了.它们可能是两者的结合!非常感谢你的帮助!.我也删除了端口. (2认同)