【问题标题】:laravel composer update error with databaselaravel composer更新数据库错误
【发布时间】:2018-06-15 11:28:38
【问题描述】:

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

在 Connection.php 第 664 行:

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

我知道错误是因为App\Providers\ConfigServiceProvider中的一个文件,在启动方法中有一行: config(Config::all()->pluck('value','name')->toArray()); 也许这是在我配置数据库之前执行的。我想知道在安装项目时是否有避免此错误的方法。此方法用于从数据库中提取 Web 配置,以便我可以在任何地方使用配置功能。谢谢

【问题讨论】:

    标签: laravel config


    【解决方案1】:

    您可以在调用本身上使用 try catch 异常。

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

    如果有连接,它将按应有的方式运行所有内容。但如果有错误,它会简单地记录错误。

    【讨论】:

    • 也许这是一个解决方案
    • 谢谢,我没有想到一个简单的解决方案。在我的代码中,我总是在这种情况下使用 try catch,但是对于这个问题,我继续在谷歌上搜索。不确定是否有更好的选择。
    【解决方案2】:

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

    【讨论】:

    • 你的意思是我应该在运行 composer update 之前更新 .env?
    • 是的,我认为.env 文件设置为旧数据库配置
    • 为什么在安装项目之前调用了这个引导方法?
    猜你喜欢
    • 2016-01-10
    • 2021-11-03
    • 2013-05-28
    • 2016-02-06
    • 2015-10-23
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    相关资源
    最近更新 更多