升级到 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()

站点打开后未加载 Laravel 5.4 服务提供商

将 Laravel 从 5.6 升级到 6.0 后,调用未定义的 str_random() 函数不起作用

从 5.4 升级后的 Laravel 419 发布请求