为什么我会收到此错误 Laravel: PHP Catchable Fatal Error?

Why am I getting this error with Laravel: PHP Catchable Fatal Error?

当我尝试 运行 php artisan (anything):

时出现此错误
PHP Catchable fatal error:  Argument 2 passed to
Illuminate\Routing\UrlGenerator::__construct()
must be an instance of Illuminate\Http\Request, null given, called in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php
on line 56 and defined in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php
on line 81

Catchable fatal error: Argument 2 passed to
Illuminate\Routing\UrlGenerator::__construct()
must be an instance of Illuminate\Http\Request, null given, called in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php
on line 56 and defined in
/www/laravel5/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php
on line 81

我完全不知道是什么原因造成的,需要帮助。

提前致谢

好吧,我发现了产生错误的原因。

config/services.php 我是这样做的:

'facebook' => [
    'client_id'     => env('FACEBOOK_APP_ID', null),
    'client_secret' => env('FACEBOOK_APP_SECRET', null),
    'redirect'      => url('auth/facebook'),
]

url('auth/facebook') 是导致错误的原因。

如您所想,问题是由于在配置中使用 url() 引起的。如果您使用 asset() 也会发生同样的情况。当 运行 artisan 命令时,框架无法确定网站 url 是什么,因此出现错误。

我只想提出一个替代方案:

'facebook' => [
  'client_id'     => '***'
  'client_secret' => '***',
  'redirect'      => PHP_SAPI === 'cli' ? false : url('/fb-callback-path'),
]

我不喜欢它,但是当 运行 命令行脚本时,您不太可能需要 FB 重定向,这样您就不必记住在每个脚本中配置重定向环境。

问题是由于在配置中使用 url() 引起的。 我从 config/filesystems.php 中删除了它,它起作用了! 希望能帮到你!