【问题标题】:Argument 3 passed to twig_template_from_string() must be of the type string or null传递给 twig_template_from_string() 的参数 3 必须是 string 类型或 null
【发布时间】:2020-03-02 13:18:33
【问题描述】:

我更新了我的 Symfony 版本 (3.4.26 -> 3.4.37),自从这次更新后我出现了以下错误:

类型错误:传递给 twig_template_from_string() 的参数 3 必须是 类型为 string 或 null,对象给定,调用 /var/www/html/var/cache/dev/twig/09/0965cdf4a4c2728abc6e3a7f526f3e5ee9321e47e22a23568e44c13454b5ad97.php 在第 132 行

这个功能在不同版本之间有更新吗?

【问题讨论】:

  • 你在 composer.json 中的 twig 版本是什么?
  • 我的树枝版本:v2.12.5

标签: symfony symfony-3.4


【解决方案1】:

根据您提供的信息,很难理解到底发生了什么。不过……

  1. 在第 132 行打开/var/www/html/var/cache/dev/twig/09/0965cdf4a4c2728abc6e3a7f526f3e5ee9321e47e22a23568e44c13454b5ad97.php

  2. 逐行向上滚动,直到看到类似

  3. 的注释
 // line 3

现在我们知道这是关于文件 X 的第三行,但哪个文件是 X?让我们找出来......导航到文件的顶部,直到找到类似的内容

/* @WebProfiler/Collector/config.html.twig */

这将位于缓存文件中的类声明之上。太好了,现在你知道它是什么源文件了。

  1. 在第 3 行打开源文件(或任何给您带来麻烦的行) 现在您应该知道对象是什么以及为什么它不是函数所描述的东西。

我看到实现了 php 7.4 兼容性( https://github.com/symfony/symfony/blame/v3.4.37/composer.json#L23 ) 这意味着可能会发生一些参数和类型提示更改。

如果这不能为您解决问题,只需添加另一个更具描述性的问题,并避免向人们询问我们永远不会拥有的缓存文件 :)

祝你好运!

【讨论】:

    猜你喜欢
    • 2023-02-10
    • 2020-08-16
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多