【发布时间】:2016-01-11 09:42:46
【问题描述】:
运行 Symfony 2.7.8。
它总是像一个魅力:我做了类似的事情
{{ dump(undefinedVariable) }}
它在开发模式下的树枝告诉我变量没有定义。
现在它不再告诉我了:我有一个丑陋的 500 错误页面(不是 symfony 的)并且没有工具栏。就像我在 prod 而不是 dev 上运行一样。但我确定我在开发中,就好像我删除了页面渲染的有罪行并且我有 symfony 的栏告诉我我在开发中。
奇怪的是,在他的机器上运行相同项目的其他开发人员没有遇到此问题。会不会和我的 Apache 配置有关?
谢谢!
EDIT1: Apache日志很清楚。 Symfony 日志最后的条目是:
[]
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelResponse". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SaveSessionListener::onKernelResponse". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\TranslatorListener::onKernelFinishRequest". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.finish_request" to listener "Symfony\Component\Security\Http\Firewall::onKernelFinishRequest". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onTerminate". [] []
[2016-01-11 10:35:31] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelTerminate". [] []
EDIT2:我认为我们可以排除 Apache。如果我使用 Symfony 的网络服务器,行为是完全相同的。启用 --verbose 选项不会提供任何关于为什么 500(但服务器继续运行)的线索:/
EDIT3 来自服务器的响应标头似乎格式正确,但我无法获取正文(至少浏览器控制台告诉我没有正文)。这是标题:
Request URL:http://localhost:8000/app_dev.php/onboardingGuide/edit/31
Request Method:GET
Status Code:500 Internal Server Error
Remote Address:[::1]:8000
Response Headers
view source
Connection:close
Content-Length:0
Content-Type:text/html; charset=UTF-8
Date:Tue, 12 Jan 2016 09:52:55 GMT
Server:Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12
X-Powered-By:PHP/5.6.12
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Cookie:PHPSESSID=etrtngod29m8odpepoi6kvgr66
Host:localhost:8000
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
【问题讨论】:
-
尝试清除缓存?另外,检查您的 apache 日志,答案可能就在其中。
-
是的,缓存已清除。对 Apache 日志一无所知,但我希望那里有一个堆栈跟踪或与错误相关的任何内容,而不是 Twig 没有正确显示错误的事实:/
-
看起来确实很奇怪。如果您在 linux 服务器上运行标准 apache 配置,它将位于
/var/logs/apache2/error.log。检查一下,或者最好还是使用tail -f /var/logs/apache2/error.log并重新加载页面。你应该看到有问题的问题弹出。由于您没有收到 Symfony 错误,这确实意味着它没有达到那样的程度。 -
我在 Windows 上运行 Apache,但找到了日志。天气晴朗。有关 Symfony 最新日志条目的更多信息,另请参阅我编辑的问题
-
你的
symfony-directory/app/logs/dev.log文件里面有什么?