【问题标题】:Getting error for artisan commands ( In routes-v7.php Call to undefined method Closure::__set_state() )工匠命令出错(在 routes-v7.php 调用未定义的方法 Closure::__set_state() )
【发布时间】:2021-03-26 17:46:15
【问题描述】:

我已将 Laravel 版本从 5.7 升级到 8.34。对于所有工匠命令,我都会收到此错误。

【问题讨论】:

  • 看起来是routes-v7.php 中的错误,因此请在此处查找代码以进行跟踪。
  • @aynber 是的,实际上我使用“定位”命令来定位这个文件。它存在于 /bootstrap/cache/routes-v7.php 中。我已经从缓存中删除了文件,它现在工作正常。谢谢。

标签: php laravel laravel-8


【解决方案1】:

对其他人:删除 routes-v7 可能会有所帮助,但这可能是由于您的路由文件 (web.php) 中的 return 引起的。删除它并使用控制器返回特定的 view/back() 等。

【讨论】:

    【解决方案2】:

    @Tjab 的答案是正确的。还有一些想法:

    这是因为您在配置中使用了闭包(也称为 Lambda 函数 function () use() {})。我很确定这是因为您使用的是HTTP redirect routes不要使用该功能,因为您将无法缓存您的路线,这实际上是一个好主意,因为它应该会提高您的应用程序速度。否则您的配置无法序列化(缓存的实际含义)到磁盘。

    改为为每个重定向创建控制器和操作。

    同时检查您的配置文件中的闭包并删除它们(所有其他 PHP 框架相同)。

    【讨论】:

      猜你喜欢
      • 2019-09-19
      • 2021-06-05
      • 2018-06-03
      • 2020-02-05
      • 2016-05-29
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多