我刚刚使用Zend Framework 2创建了一个非常简单的单模块应用程序。
我已经设置了自动加载,路由等,但是当我尝试连接到这个测试应用程序时,我等了一些MINUTES,然后我又找回了一个空白页面。
apache错误日志说:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 33817602 bytes) in C:\Program Files\626Suite\application\library\Zend\ServiceManager\ServiceManager.php on line 339
或
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49141298 bytes) in C:\Program Files\626Suite\application\library\Zend\ServiceManager\ServiceManager.php on line 301
或
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 179873796 bytes) in C:\Program Files\626Suite\application\library\Zend\ServiceManager\Di\DiServiceFactory.php on line 106
但我真的无法理解这里出了什么问题,没有什么可以解释为一个简单的“hello world”控制器使用128MB的ram。
我也可以发布我的配置,如果有用的话,就这么说。
有什么可能导致这个问题的想法吗?
答案 0 :(得分:5)
回答自己的原因,最后,我发现了问题:
主视图调用未定义的路由,从而触发异常,内存溢出是由XDebug引起的,XDebug没有正确配置,并且试图生成如此多的输出以使其耗尽所有可用内存。
正确配置XDebug解决了问题,并且正确显示了Exception,而不是白屏。