似乎有一个相关问题here。
我有一个js前端与流明REST API交谈。
我的前端最终可以每秒向同一个端点做很多请求。
让我们说api/supplier/<ID>
其中大部分都成功返回,但大约有5%-10%的时间API返回错误,如:
糟糕,看起来出了问题。
1/1 Connector.php第50行中的PDOException: SQLSTATE [HY000] [1044]拒绝访问用户&#39;&#39; localhost&#39;到数据库&#39; forge&#39;
这表示正在以某种方式使用错误的数据库配置。
代码中唯一可以找到字符串'forge'
(包括引号)的地方是在
...\vendor\laravel\lumen-framework\config\database.php
然而,从相关的mysql部分看,它看起来像一个用户名&#39;伪造&#39;如果使用它也会被设置,并且我的.env被忽略。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => env('DB_PREFIX', ''),
'timezone' => env('DB_TIMEZONE','+00:00'),
'strict' => false,
],
如果我直接从浏览器请求它们,我就不会收到任何错误。
问题似乎与请求频率有关,更多请求/秒=更多错误 如果我重新加载页面,错误将出现在不同的项目上。
如果我用我的值(数据库/用户名/密码/前缀)覆盖上面的/vendor/.../config/database.php,那我就不会有任何错误,但这不是正确的方法并让我怀疑某处有一个错误。
环境:
我的问题是
答案 0 :(得分:2)
不是覆盖框架内的文件database.php,而是可以在项目的根目录上创建一个config目录,然后在database.php中创建一个文件,您可以根据需要修改该文件。 Lumen明白你想要使用你自己的配置文件而不是那个带来默认框架的文件。
检查是否在bootstrap / app.php中取消注释此行
Dotenv::load(__DIR__.'/../');