升级到laravel 6时照明请求的问题

时间:2020-03-01 01:27:02

标签: laravel laravel-6

尝试从5.8升级到laravel 6后,出现以下代码错误,以前有人遇到过吗?

Fatal error: Uncaught TypeError: Argument 2 passed to Illuminate\Routing\UrlGenerator::__construct() must be an instance of Illuminate\Http\Request, null given, called in C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Routing\RoutingServiceProvider.php on line 68 and defined in C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:120
Stack trace:
#0 C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Routing\RoutingServiceProvider.php(68): Illuminate\Routing\UrlGenerator->__construct(Object(Illuminate\Routing\RouteCollection), NULL, NULL)
#1 C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Container\Container.php(799): Illuminate\Routing\RoutingServiceProvider->Illuminate\Routing\{closure}(Object(Illuminate\Foundation\Application), Array)
#2 C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Container\Container.php(681): Illuminate\Container\Container->build(Object(Closure))
#3 C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\ in C:\xampp\htdocs\rebuild\vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php on line 120

1 个答案:

答案 0 :(得分:0)

类似的问题已经在Laravel repositoryLaracasts上列出

问题似乎是由于配置文件中使用了url()asset()辅助功能。

要解决此错误,请使用config()base_path或在配置文件中定义绝对路径或相对路径,例如,不要使用url()assset()函数

'cdn' => url('vendor/js/tinymce/tinymce.min.js'),

更改为

'cdn' => Config('app.url').'/vendor/js/tinymce/tinymce.min.js',

asset('home')更改为base_path('public/home'),

注意::您不应在config内部使用laravel依赖项,因为 配置是在请求生命周期的早期加载的,例如 全局助手可能不可用。

如果您在配置文件中使用某些依赖项,请在.env文件中定义它们