Laravel artisan 路由列表数据库连接错误

Laravel artisan route list database connection error

我正在使用 Laravel 5,当我使用 运行 php artisan route:list 时,它总是给我一个 SQLSTATE[HY000] [1045] 访问被拒绝的错误对于用户 'homestead'@'localhost'(使用密码:YES)。这不应该是因为我的应用程序不会连接到任何数据库,因为它将是一个静态网站。

我尝试删除 .env 文件中的变量:

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

只是仍然给我错误。它似乎仍在连接到数据库,其中不应建立任何数据库连接。

这可能是本地主机的问题。如果您正在使用其中任何一个,请检查您的 WAMP、MAMP、LAMP 和 XAMP MySql 服务器。

这已经解决了我的问题:

看起来 artisan 可能在错误的环境中工作。 运行 "php artisan tinker",然后是 "App::environment();" 以查看 Artisan 运行 所在的环境。如果它不是生产环境,则需要创建一个文件夹该环境名称在您的 app/config 文件夹中,并将 "database.php" 文件的副本放入其中。

之后,如果您不执行任何与数据库相关的任务,它将不会访问数据库。

我找到了答案here

或者您可以运行以下命令来解决此问题:

php artisan migrate:install --env="local"

在此之后 运行 你命令:

php artisan route:list

尽情享受吧。

我将 Laravel 安装程序从 v1.1 升级到 v1.2 时遇到了同样的问题。

routes.php 文件似乎默认添加身份验证路由:

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);

这会导致向您所描述的内容显示一条错误消息:

$ php artisan route:list

  [PDOException]                                                                          
  SQLSTATE[28000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)  

我通过执行以下命令删除 Laravel 中包含的脚手架解决了这个问题:

$ php artisan fresh

或者通过简单地删除文件本身中的 Auth 路由。

您现在应该可以运行:php artisan route:list

希望对您有所帮助!