Drupal 8 Twig不适用于Debug

jaf*_*011 9 php twig drupal-8

我一直在搞乱Drupal 8并且看到在状态报告中它建议我应该添加Twig C扩展,在添加它之后我开始在主题模板文件中使用Kint时出现以下错误.

Warning: file(/Users/jafacakes2011/Sites/site/recipe-hub/vendor/twig/twig/lib/Twig/Environment.php(403) : eval()'d code): failed to open stream: No such file or directory in Drupal\kint\Twig\KintExtension->kint() (line 78 of /Users/jafacakes2011/Sites/site/recipe-hub/modules/contrib/devel/kint/src/Twig/KintExtension.php).
Run Code Online (Sandbox Code Playgroud)

我使用自制软件安装PHP和Twig: brew install php56 php56-twig php56-mcrypt php56-opcache

你可以在下面的图片中看到twig在我的php服务器上.

该错误让我相信这是一个权限问题,但所有权限似乎都在供应商twig文件夹中.

小智 5

这似乎是一个kint twig扩展问题(请参阅devel问题队列中的这个问题https://www.drupal.org/node/2731381)

作为解决方法,您可以:

  • 转到开发设置页面并将kint设置为默认转储程序

  • 在twig模板中使用{{ devel_dump() }}而不是{{ kint() }}调试变量

{{ devel_dump() }} 没有kint twig扩展提供的所有功能但是工作得很好而且没有受到这个问题的影响.. devel twig扩展产生的输出几乎相等


小智 2

对我来说解决这个问题的方法是转到“/admin/config/development/devel”并将错误处理程序从“标准 Drupal”更改为“渲染页面上方的 Kint 回溯”。我还将变量转储器设置为 Kint,以获得更好的输出。