从 Laravel 5.8 升级到 6.2 后 ConfirmPasswordController 不存在
Posted
技术标签:
【中文标题】从 Laravel 5.8 升级到 6.2 后 ConfirmPasswordController 不存在【英文标题】:ConfirmPasswordController doesn't exist after upgrade from Laravel 5.8 to 6.2 【发布时间】:2020-02-07 03:16:58 【问题描述】:我正在开发一个使用 Laravel 5.8 的项目,最近,我也将它升级到 Laravel 6.0 及其包依赖项版本。该项目运行良好。但是,今天,我通过composer update,
更新了作曲家,它升级到了 Laravel 6.2。之后,我遇到了一个错误:
App\Http\Controllers\Auth\ConfirmPasswordController 不存在
然后我安装了一个新的Laravel-6.2
并通过php artisan ui vue,
生成了基本脚手架然后,通过php artisan ui vue --auth.
生成了login/registration
脚手架之后,我找到了ConfirmPasswordController.
然后,我在我正在运行的项目中手动创建了ConfirmPasswordController
并将所有代码从ConfirmPasswordController
复制到我手动创建的ConfirmPasswordController.
然后,错误消失了。虽然我没有遇到任何与此相关的错误。但是,我对我的方法感到困惑。我做的对吗?或者它有更好的方法来解决这个问题。我很困惑,如果我下次遇到php artisan ui vue --auth
的许多问题。有人会建议我正确的流程吗,我该怎么办?
【问题讨论】:
试试这个命令。也许这有效:composer dump-autoload 该控制器实际上是昨天创建的,所以它是新的并且它存在于您的应用程序中,因此作曲家不会触及任何这些.. 还有一个中间件与它一起使用并添加了一个配置键 我做到了。我解决了这个错误的问题。但怕下一个。我上面描述的过程是正确的方法还是更好的解决方案?这是我的问题。 该控制器现在默认带有 laravel/laravel。所以它不需要任何命令就可以存在......不幸的是,文档中没有关于 6.x 版本更新的注释,所以不确定你必须在哪里寻找这种类型的信息。 @lagbox 是的,我为此搜索了正确的方法。但是,没有找到!我害怕我的项目,这是因为我的项目更大。php artisan ui vue --auth
之前的认证过程有问题吗?尽管我还没有面对。
【参考方案1】:
Laravel 从 v6.0.0 到 v6.2.0 做了以下的添加和修改。
A app/Http/Controllers/Auth/ConfirmPasswordController.php
M app/Http/Controllers/Auth/ForgotPasswordController.php
M app/Http/Controllers/Auth/ResetPasswordController.php
M app/Http/Kernel.php
M config/auth.php
M resources/lang/en/validation.php
请确保这些更改在您的 Laravel 实例中,尽管听起来就像现在一样。您可以看到 v6.0.0 与 v6.2.0 here 的差异。如果您需要查看 v5.8.0 到 6.2.0 的变化,请前往here。
【讨论】:
【参考方案2】:升级时需要从https://github.com/laravel/laravel/blob/master/app/Http/Controllers/Auth/ConfirmPasswordController.php复制
这是已知的,参考https://github.com/laravel/ui/pull/36#issuecomment-539921924。
【讨论】:
以上是关于从 Laravel 5.8 升级到 6.2 后 ConfirmPasswordController 不存在的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的错误:将 laravel 5.8 升级到 8 后调用未定义的函数 Illuminate\Mail\TransportManager()
Laravel 5.8 到 6.x 升级错误 - App\Exceptions\Handler::renderHttpException 声明
将 laravel 5.8 升级到 6:致命错误:未捕获的 RuntimeException:尚未设置外观根