升级到 laravel 5.4 后调用未定义的方法
Posted
技术标签:
【中文标题】升级到 laravel 5.4 后调用未定义的方法【英文标题】:Call to undefined method after upgrading to laravel 5.4 【发布时间】:2017-06-10 09:11:18 【问题描述】:我今天尝试将我的项目从 5.3 升级到 laravel 5.4。我加了
"laravel/framework": "5.4.*",
到我的composer.json
并运行命令composer update
然后composer dump-autoload
然后测试我的项目。它给了我这个错误:
错误:
2154f392745gf102547be138a945a11b58e5649203.php 中的 FatalThrowableError 第 2 行: 调用未定义的方法 Illuminate\View\Factory::getFirstLoop()
我错过了什么吗?
【问题讨论】:
getFirstLoop 的位置已更新为 Concerns/ManagesLoops,名称不同 github.com/laravel/framework/blob/5.4/src/Illuminate/View/… 表示它获取最后一项但返回值与 github.com/laravel/framework/blob/5.3/src/Illuminate/View/… 相同 【参考方案1】:清除已编译的刀片视图。
php artisan view:clear
【讨论】:
【参考方案2】:php artisan cache:clear
刷新应用缓存
composer dump-autoload
生成自动加载文件
php artisan view:clear
清除所有已编译的视图文件
【讨论】:
很好奇,我尝试了这两种方法,但仍然看到相同的错误。我在它工作的开发服务器上拉下相同的代码,然后在我的生产服务器上拉下它失败的地方,这很奇怪。【参考方案3】:升级包和 Laravel 到 5.4 后,你应该运行 **
php 工匠视图:清除
** 以避免上述错误。 更多你可以运行**
php工匠路线:清除
** 刷新路由缓存。 此外,您可以运行
php 工匠优化
终于。
【讨论】:
【参考方案4】:从此路径中删除所有文件
project_root\storage\framework\views
或者 在控制台中运行它
php artisan view:clear
【讨论】:
以上是关于升级到 laravel 5.4 后调用未定义的方法的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 上 Manager.php 第 139 行中的 FatalErrorException
Laravel 5.6:升级 composer.json 后调用未定义的方法 ...\Store::getToken()
未捕获的错误:将 laravel 5.8 升级到 8 后调用未定义的函数 Illuminate\Mail\TransportManager()