Symfony CACH验证错误:使用SetPublic()之后无法声明类响应



我正在使用HTTP缓存验证 - 使用ETAG标头验证

在我的控制器中,我有:

// ... get the $data and $myObject somehow ...
$response = $this->json($data);
$response->setEtag($myObject->getDateModified()->format("Y-m-d H:i:s"));  // getDateModified() returns a DateTime
$response->setPublic();
return $response;

删除缓存后第一次加载页面时,控制器运行,一切都很好。但是从第二次开始我才得到:

fatalerrorexception in Class..php行3353:错误:无法声明 类Symfony component httpfoundation wespons,因为名称是 已经在使用

我使用$response->setPublic();

就在那里

是什么引起了问题?我做错了吗?

我找到了这个,也许可以帮助您https://github.com/contao/core-bundle/issues/643

他们建议从app.php删除$kernel->loadClassCache();

这是一种预订课程的加速尝试 大多数要求。但是,这在PHP7.0中已过时,而在PHP中的边缘 5.6-因此,将其删除是可以保存的。

编辑:我删除了行$kernel->loadClassCache();,没有更多的错误,而HTTP缓存正常工作。

另外,这里有额外信息:https://github.com/symfony/symfony/sismues/20668

最新更新