Lumen 中的命令未与 AWS RDS 连接



我在 Elastic Beanstalk 中有一个 Lumen 5.7 应用程序,其中包含 PHP 7.2,有几个端点工作正常,在 RDS 中获取和插入数据。但是Lumen命令(我创建的(正在尝试连接到本地主机,忽略环境配置。我通过 ssh 执行此命令。

我收到此错误:

[2019-03-29 18:37:01] production.ERROR: PDOException: SQLSTATE[HY000] [2002] Connection refused in /var/app/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27
Stack trace:
#0 /var/app/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('mysql:host=127....', 'forge', '', Array)
#1 /var/app/current/vendor/illuminate/database/Connectors/Connector.php(67): DoctrineDBALDriverPDOConnection->__construct('mysql:host=127....', 'forge', '', Array)
#2 /var/app/current/vendor/illuminate/database/Connectors/Connector.php(46): IlluminateDatabaseConnectorsConnector->createPdoConnection('mysql:host=127....', 'forge', '', Array)
#3 /var/app/current/vendor/illuminate/database/Connectors/MySqlConnector.php(24): IlluminateDatabaseConnectorsConnector->createConnection('mysql:host=127....', Array, Array)

它正在尝试使用用户伪造连接到 127.0.0.1。服务器中没有 .env 文件。在本地,该命令可以正常工作。有人可以帮我吗?

编辑:我已经添加了配置/数据库.php文件和下一个代码

return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
        ]
    ],
    'migrations' => 'migrations',
];

现在我收到此错误:

production.ERROR: InvalidArgumentException: Database hosts array is empty. in /var/app/current/vendor/illuminate/database/Connectors/ConnectionFactory.php:203

编辑 2我再次部署,现在收到此错误:

[2019-03-30 01:12:53] local.ERROR: PDOException: SQLSTATE[HY000] [1045] Access denied for user 'user'@'xx.xx.xx.xx' (using password: YES) in /var/app/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27
Stack trace:
#0 /var/app/current/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('mysql:host=dev-...', 'user', 'mypass...', Array)
#1 /var/app/current/vendor/illuminate/database/Connectors/Connector.php(67): DoctrineDBALDriverPDOConnection->__construct('mysql:host=dev-...', 'user', 'mypass...', Array)
#2 /var/app/current/vendor/illuminate/database/Connectors/Connector.php(46): IlluminateDatabaseConnectorsConnector->createPdoConnection('mysql:host=dev-...', 'user', 'mypass...', Array)
#3 /var/app/current/vendor/illuminate/database/Connectors/MySqlConnector.php(24): IlluminateDatabaseConnectorsConnector->createConnection('mysql:host=dev-...', Array, Array)
#4 /var/app/current/vendor/illuminate/database/Connectors/ConnectionFactory.php(182): IlluminateDatabaseConnectorsMySqlConnector->connect(Array)

连接数据正确,但用户显示服务器 ip user@ip.of.the.server,我不知道这是否正确。

密码包含"$"字符。出于某种原因,Lumen 截断了此字符之前的密码。它被删除了,一切恢复了。

最新更新