【问题标题】:Laravel Homestead SQLSTATE[HY000] [2002] Connection refused after server moveLaravel Homestead SQLSTATE[HY000] [2002] 服务器移动后连接被拒绝
【发布时间】:2014-09-22 14:54:10
【问题描述】:

我将一个正在开发的应用程序移到了一个新的开发服务器中,即 Mac OSX 主机上的 Laravel Homestead VagrantBox。这样做后,我运行 php artisan:migrate 来更新我的数据库,这一切顺利进行。

我决定创建一个新用户继续测试,所以我创建了路由

Route::get('/newuser', function()
{
    User::create([
        'username' => 'someone',
        'email' => 'someone@someone.com',
        'password' => Hash::make('password') 
]);

return 'Done.';
});

但是,当我访问 /newuser 时。我收到以下消息。

SQLSTATE[HY000] [2002] Connection refused

现在,我知道我的数据库配置必须正确,因为当我运行 php artisan migrate 并且我的数据库成功迁移时,我没有收到任何错误。但是,为了安全起见,我检查了我的数据库配置。

        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost:33060',
            'database'  => 'site',
            'username'  => 'root',
            'password'  => 'apassword',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

我想可能是我定义端口的方式有问题,所以我添加了参数:

'port' => '33060'

执行此操作后,错误消息从“连接被拒绝”更改为“没有这样的文件或目录”

我很茫然。有没有人指点一下?

【问题讨论】:

  • 您确定在新服务器上使用了正确的环境吗?
  • 那是正确的端口吗?默认mysql端口是3306
  • 默认数据库连接是'default' => 'mysql',所以我相信它是正确的环境。
  • 是的,这是正确的端口。 Homestead vagrant box 使用端口 33060 而不是 3306。如果我使用 3306,它将使用 mysql 的本地实例,而不是托管在 vagrant box 上的实例。
  • 但是您可以在 config/localconfig/global 中使用不同的值,并且您的新服务器从其他目录加载数据而不是您想象的

标签: php mysql database laravel


【解决方案1】:

现在,我知道我的数据库配置必须是正确的,因为我在运行 php artisan migrate 时没有收到任何错误

当你被困在某件事上时,这比赌钱更好,这是你的假设之一,这就是问题所在。您的 Laravel 应用程序可能在命令行运行期间读取了不同的凭据,或者迁移与此无关,或者由于某些奇怪的 PHP 原因,错误在迁移运行期间被抑制。我会在您出现错误的上下文中检查 Laravel 使用的凭据。将以下代码添加到您的 newuser 路由中,以查看 Laravel 读取的内容。

$default = Config::get('database.default');
var_dump($default);

$config = Config::get('database.connections.'.$default);
var_dump($config);

【讨论】:

    【解决方案2】:

    我有同样的问题,我看到我的数据库服务器没有响应,我重新启动它并且它工作......有时它会导致错误配置。

    如果有人遇到同样的问题并且 mysql 无响应,我发布了这个答案 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-10
      • 2017-05-04
      • 2017-09-20
      • 2020-03-26
      • 2020-12-04
      • 2020-02-27
      • 2016-11-03
      • 1970-01-01
      相关资源
      最近更新 更多