Laravel Homestead SQLSTATE [HY000] [2002]服务器移动后连接被拒绝
问题描述:
我将正在处理的应用程序移动到Mac OSX主机上的新开发服务器,Laravel Homestead VagrantBox。这样做后,我运行了php工匠:迁移到更新我的数据库,并且顺利完成。Laravel Homestead SQLSTATE [HY000] [2002]服务器移动后连接被拒绝
我决定创建一个新的用户继续测试,所以我创建的路线
Route::get('/newuser', function()
{
User::create([
'username' => 'someone',
'email' => '[email protected]',
'password' => Hash::make('password')
]);
return 'Done.';
});
当我访问/ NEWUSER,但是。我收到以下消息。
SQLSTATE[HY000] [2002] Connection refused
现在,我知道我的数据库的配置必须是正确的,因为我收到的时候我跑PHP工匠迁移和我的数据库迁移成功没有错误。然而,为了安全起见,我检查了我的数据库配置。
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost:33060',
'database' => 'site',
'username' => 'root',
'password' => 'apassword',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
我想,也许有与我确定我是在端口的方式的问题,所以我增加了参数:
'port' => '33060'
一旦这样做,错误消息从“连接拒绝“到”没有这样的文件或目录“
我很茫然。有没有人有任何指针?
答
现在,我知道,我的数据库的配置必须是正确的,因为我没有收到任何错误,当我跑PHP工匠迁移
这是一个比你坚持的东西时,甚至金钱赌注更好的是这是你的假设之一,这是问题。在命令行运行期间,您的Laravel应用程序可能正在读取不同的凭证,或者迁移无关,或者出于某种奇怪的PHP原因,错误在迁移运行期间被抑制。我会检查Laravel在上下文中使用的凭据,您的错误正在出现。将以下代码添加到您的newuser
路线中,以查看Laravel的读数。
$default = Config::get('database.default');
var_dump($default);
$config = Config::get('database.connections.'.$default);
var_dump($config);
答
我有同样的问题,我看到我的数据库服务器没有响应我重新启动,它的工作原理...有时它会导致错误的配置。
我张贴了这个答案,如果有人有相同的问题和MySQL反应迟钝:)
你确定你的新服务器上使用正确的环境? – 2014-09-22 14:57:33
是那个正确的端口?默认的mysql端口是3306 – andrew 2014-09-22 14:59:48
默认数据库连接是'default'=>'mysql',所以我相信这是正确的环境。 – KinsDotNet 2014-09-22 15:01:47