laravel composer数据库更新错误

laravel composer数据库更新错误,laravel,config,Laravel,Config,我正在安装一个由我自己设计的laravel项目。从github克隆代码后,我运行了composer update。git终端显示“artisan package:discover”后,它会给出一个错误: 在Connection.php第664行: 用户“forge”@“localhost”的SQLSTATE[HY000][1045]访问被拒绝 (使用密码:否)(SQL:select*fromconfigs) 我知道错误是因为App\Providers\ConfigServiceProvider中

我正在安装一个由我自己设计的laravel项目。从github克隆代码后,我运行了composer update。git终端显示“artisan package:discover”后,它会给出一个错误:

在Connection.php第664行:

用户“forge”@“localhost”的SQLSTATE[HY000][1045]访问被拒绝 (使用密码:否)(SQL:select*from
configs

我知道错误是因为App\Providers\ConfigServiceProvider中的一个文件,在引导方法中有一行:
config(config::all()->pull('value','name')->toArray()

可能这是在我配置数据库之前执行的。我想知道在安装项目时是否有办法避免此错误。此方法用于从数据库中提取web配置,以便我可以在任何地方使用配置功能。谢谢

您可以对呼叫本身使用try-catch异常

try {
    config(Config::all()->pluck('value','name')->toArray());
} catch (\Exception $e) {
    \Log::info("Database connection not established");
}

如果有一个连接,它将按它应该的方式运行一切。但是如果有错误,它只会记录错误。

您需要编辑
.env
文件并设置数据库凭据,请确保您的数据库用户有权访问configs表

您的意思是我应该在运行composer update之前更新.env?是的,我认为
.env
文件正在设置为旧的数据库配置为什么在安装项目之前调用此启动方法?也许这是一个解决方案谢谢,我没有想到一个简单的解决方案。在我的代码中,我总是在类似这样的情况下使用try-catch,但对于这个问题,我继续在谷歌上搜索。不确定是否有更好的选择。