流明`php artisan migrate`没有连接到数据库

时间:2017-03-02 16:13:41

标签: php laravel lumen

我是Laravel的Lumen微框架的新手,我之前没有使用过Laravel。

我想为移动应用程序制作 Web服务。我正在学习本教程tutorial

我在Linux基本服务器上成功设置了Lumen

当我运行命令php artisan migrate时,我收到此错误

  

[POD异常]

     

SQLSTATE [HY000] [2002]拒绝连接

我在Stack Overflow上搜索了这个解决方案,但对我没有用,例如solution

我没有得到任何其他解决方案。我该怎么办?

1 个答案:

答案 0 :(得分:2)

您的数据库凭据无效,因此您无法连接到数据库以运行迁移。

尝试使用此代码创建路线以查看您的数据库是否已连接:

$app->get('/database', function () use ($app) {
    $db = app()->make('db');

    if ( $db->connection()->getDatabaseName() )
    {
        return 'Connected to the DB: ' . $db->connection()->getDatabaseName();
    }
    else
    {
        return 'Unable to establish database connection...';
    }
});

然后访问/database路线以查看结果。

您需要在流明的.env文件中设置数据库凭据,并确保重新启动本地开发服务器以使.env文件生效。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=forge
DB_PASSWORD=password

此外,如果您将MAMP用于本地数据库,则可能需要做的一件事是指定套接字连接。您可以通过修改文件bootstrap/app.php并添加以下内容来执行此操作:

/**
 * Configuration
 */
$app['config']->set('database.connections.mysql.unix_socket', '/Applications/MAMP/tmp/mysql/mysql.sock');

它可能不是一个完美的复制粘贴解决方案,但值得考虑的事情。它至少可以指向正确的方向来查找流明中的数据库套接字配置。