使用Symfony2,Doctrine2和MySQL,我遇到了一些麻烦。
想象一下,一些简单的学说生成的实体在数据库中有14个元素,必须在某个myPage文档中列出。
我从浏览器执行请求,然后进入myPage控制器方法。该方法从开始到结束执行(我在日志中看到这一点),获取每个元素并准备它们以数组形式返回。最后,控制器正确生成响应并返回它。我在日志中写了这个Response对象,看起来很完美。
但是,出乎意料!我在浏览器中得到的只是一个空白页:
<html>
<head></head>
<body></body>
</html>
令人难以置信的是,如果我删除了要在浏览器中提取和列出的任何元素,那么不是14,而是列出13,页面只是“生动”并且它被完美浏览。请注意,在这两种情况下,每个日志都显示完全相同。控制器从A到Z执行,响应正确形成并平均返回。
服务器和浏览器缓存已经被清理了数十次。
编辑(一些实验): 删除所有变量并只编写一个基本的HTML页面,它被正确浏览:
<html>
<head></head>
<body>Hello world!</body>
</html>
插入trans-endtrans
标签,它有效。这浏览页面:
<html>
<head></head>
<body>
Hello world! One fine translation: {% trans %}one.fine.translation{% endtrans %}
</body>
</html>
插入第二个trans-endtrans
标签,空白页!!这给出了一个空白页面:
<html>
<head></head>
<body>
Hello world!
One fine translation: {% trans %}one.fine.translation{% endtrans %}
Second fine translation: {% trans %}second.fine.translation{% endtrans %}
</body>
</html>
插入一个简单的树枝变量,空白页!!这给出了一个空白页面:
<html>
<head></head>
<body>
Hello world!
{{ my_variable }}
</body>
</html>
同样,如果我只删除一个必须在页面中列出的那个寄存器,它总是有效。
编辑2(更多细节):
任何时候我清除缓存,它似乎工作一次。但只有一次!即:
rm -rf app/cache
)所以...与Symfony缓存有什么关系????
我并不是真的很忠诚于有一个超级准确的答案来解决我的问题。我只是想知道你们中的任何一位读者是否曾经经历过一个如此奇怪的问题,如果你在教义关系中看到任何可能导致它的东西。
检查其他日志的其他方法也很有用,我可以找到造成这种混乱的原因。 Apache.error.log没有显示多少。任何学说日志?我真的不知道在哪里寻找我的解决方案。
或任何其他配置或与Symfony2缓存有关的任何内容??
答案 0 :(得分:0)
确定。
我终于开始工作了。
这肯定是记忆的问题。我认为Doctrine2有时候不能很好地管理内存。
这真的很棘手,因为我在我的测试环境中收到错误,在任何日志,调试栏或屏幕上都没有显示错误。
一旦我在本地重现了相同的错误,我很快就看到了错误发生的确切代码行。
所以,孩子们,当你有一个完全空白的页面时,考虑到你可能正在解决一些内存问题并设法在某些环境中重现错误,你知道日志记录是否正常工作。