我已经部署到一个实时的Ubuntu 14.04服务器,它在 app_dev
中工作正常 . 但是,当我在应用程序中运行它时,它会显示503错误,并在应用程序日志文件中显示以下内容:
我在Vagrant设置中获得了完全相同的代码,相同的操作系统版本,它在app和 app_dev
都可以正常工作
有没有人遇到过这个?
Symfony 2.7.0 / Ubuntu 14.04 / Distro PHP / mySQL - 尝试清除缓存并重新安装所有作曲家包 . [2015-06-09 16:36:43] request.INFO:匹配的路由“fos_user_security_login” . { “route_parameters”:{ “_controller”: “FOS \ UserBundle \控制器\ SecurityController ::则loginAction”, “_route”: “fos_user_security_login”}, “REQUEST_URI”: “HTTP://xxxx/app.php/login”} [] [2015-06-09 16:36:43] security.INFO:使用匿名令牌填充TokenStorage . [] [] [2015-06-09 16:36:43] request.CRITICAL:未捕获PHP异常Symfony \ Component \ Debug \ Exception \ ContextErrorException:“捕获致命错误:参数1传递给Symfony \ Component \ HttpKernel \ EventListener \ SurrogateListener :: __ construct()必须是Symfony \ Component \ HttpKernel \ HttpCache \ SurrogateInterface的实例,Symfony \ Component \ HttpKernel \ HttpCache \ Esi的实例,在/ var / www / xxxx / app / cache / prod / appProdProjectContainer中调用第557行.php并定义“at /var/www/xxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php第33行{”exception“:”[object](Symfony \ Component \ Debug \ Exception \ ContextErrorException(code:0):Catchable Fatal Error:传递给Symfony \ Component \ HttpKernel \ EventListener \ SurrogateListener :: __ construct()的参数1必须是Symfony \ Component \ HttpKernel \ HttpCache \ SurrogateInterface的实例,实例给出了Symfony \ Component \ HttpKernel \ HttpCache \ Esi,在/ var / www / xxxx / app / cache / prod / appProd中调用第557行的ProjectContainer.php,定义于/var/www/xxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php:33)“} []
(To those who suggest code formatting the log lines, it formats them onto a single line, which basically means having to scroll them to read them, which is worse than above).
1 回答
感叹 - 总是如此 . 你花了半个小时试图解决它,你然后在SO上发布问题,并在2分钟内你自己解决它!
考虑到流浪者设置之间的设置差异,活动框有多个项目活动然后BINGO!它发生在我身上 .
应用程序环境使用APC来缓存类,是的,两个项目都有相同的apc缓存密钥!
快速密钥更改和缓存重建及其全部修复!
我以为我会回答这个问题,其他任何人都有类似的问题 .
更新:
对app.php的调整....
这使用cwd上面的文件夹(通常是apache的doc root)来为密钥添加前缀,只要它们是唯一的(它应该是),那么多个缓存就不会发生冲突 .