将 Laravel 6 升级到 7 我有 barryvdh/laravel-cors 错误
Posted
技术标签:
【中文标题】将 Laravel 6 升级到 7 我有 barryvdh/laravel-cors 错误【英文标题】:Upgrading Laravel 6 to 7 I have errors with barryvdh/laravel-cors 【发布时间】:2020-07-15 20:01:55 【问题描述】:为我的 laravel 后端应用升级 Laravel 6.14.0 到 7 并阅读此文档https://laravel.com/docs/7.x/upgrade#upgrade-7.0 我在支持 barryvdh/laravel-cors 时遇到错误,因为我在控制台中遇到错误:
Class 'Barryvdh\Cors\ServiceProvider' not found
如果要评论 config/app.php 中的 1 行:
// Barryvdh\Cors\ServiceProvider::class,
并在 app/Http/Kernel.php 中引用
我通过了控制台命令(如配置缓存)。
但我在我的 vue/cli 应用程序中遇到了 CORS 错误。
我试图在网上搜索 Barryvdh\Cors 似乎在这里https://packagist.org/packages/barryvdh/laravel-cors 有对 laravel 7 的支持, 但是如果安装改变了呢?
我还发现了这个https://github.com/fruitcake/laravel-cors 包。 它是 Barryvdh\Cors 的替代品吗?我需要采取哪些步骤才能将我的应用程序作为 laravel 7 运行?
谢谢!
【问题讨论】:
【参考方案1】:是的,Laravel 7 包含对配置跨域资源共享 (CORS) 的第一方支持。看起来您将不得不添加fruitcake/laravel-cors 依赖项。这是 Laravel 文档中的 CORS Support 升级信息。
【讨论】:
【参考方案2】:是的,供应商名称已更改,您可以找到升级指南here:
从 0.x 升级
从 0.x 版本升级时,有一些重大变化:
供应商名称已更改(请参阅安装/使用) 不再支持组中间件。 新的“路径”属性用于启用/禁用某些路由上的 CORS。默认为空! cors.php 中 props 的大小写已从
camelCase
更改为snake_case
,因此如果您已经有一个cors.php
文件,您将 需要更新那里的道具以匹配新的外壳。
您可以找到安装/使用指南here。
PS:
Laravel 5.5 及更高版本支持包自动发现,因此您无需再向config/app.php
添加任何内容。
【讨论】:
以上是关于将 Laravel 6 升级到 7 我有 barryvdh/laravel-cors 错误的主要内容,如果未能解决你的问题,请参考以下文章
从 Laravel 5.7.4 升级到 Laravel 8 的危险
如何将 App\Exceptions 从 laravel 7 升级到 laravel 8