Подтвердить что ты не робот

Почему я получаю эту ошибку с 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

Я абсолютно не знаю, что вызывает его, и ему нужна помощь.

Заранее спасибо

4b9b3361

Ответ 1

Хорошо, я обнаружил, что вызвало ошибку.

В 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') является причиной ошибки.

Ответ 2

Как вы поняли, проблема вызвана использованием url() в config. То же самое произойдет, если вы использовали asset(). При запуске команд artisan фреймворк не может понять, что такое URL-адрес веб-сайта, следовательно, ошибка.

Я просто хочу предложить альтернативное решение:

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

Мне это не нравится, но вряд ли вам когда-либо понадобится перенаправление FB при запуске сценариев командной строки, и вам не нужно помнить о настройке перенаправления в каждой среде.

Ответ 3

Проблема вызвана использованием url() в config. я удалил его из config/filesystems.php, и он сработает! я надеюсь помочь вам!