簡體   English   中英

Lumen`php artisan migration`未連接到數據庫

[英]Lumen `php artisan migrate` not connecting to the database

我是Laravel的Lumen微型框架的新手,以前沒有使用過Laravel。

我想制作用於移動應用程序的Web服務 我正在關注本教程

我已經在Linux基本服務器上成功設置了Lumen

當我運行命令php artisan migrate ,出現此錯誤

[POD例外]

SQLSTATE [HY000] [2002]連接被拒絕

我搜索了Stack Overflow上的此解決方案,但對我沒有用,例如this solution

我沒有其他解決方案。 我該如何進行?

您的數據庫憑據不起作用,因此您無法連接到數據庫來運行遷移。

嘗試使用以下代碼進行路由,以查看數據庫是否已連接:

$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路由以查看結果。

您需要在Lumen的.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');

它可能不是完美的復制粘貼解決方案,但值得考慮。 至少可以為您指明正確的方向,以便在Lumen中查找數據庫套接字配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM