8个空格怎样会导致PHP文件让Apache崩溃?

4
我正在处理一个使用Zend Framework开发的项目,想在家继续工作,但是遇到了奇怪的问题:当我在本地机器上打开该网站的主页时,连接会立即关闭并弹出Windows错误提示,说apache崩溃了(但实际上没有)。
通过切换到项目的另一个版本,我发现问题发生在Zend Framework文件之一(实际上是Zend_Auth类)的一个方法中存在8个空格缩进(我们团队中的某个人修改了该文件,然后删除了他的更改,但保留了那些空格)。
有趣的是,如果我删除或添加行中的空格,则网站会正常运行,如果我再次添加那8个空格,它就会再次崩溃。
我的规格:
Windows 7 Apache 2.2.22(从www.apachelounge.com安装为服务(从系统用户帐户运行)) PHP 5.3
编辑:如果有人感兴趣,这些空格在Auth.php文件(Zend_Auth类)的第118行中。 您可以尝试在您的设置中使用您的项目。

如果您使用2或3个空格而不是8个,它会崩溃吗? - HamZa
给HamZa DzCyberDeV:不!我已经尝试了2、3、7、9个空格,它完全正常!只有8个空格才会出现这种情况。 - hjdm
@hjdm其他行怎么样?(回复时请使用@name语法) - Alvin Wong
@AlvinWong 我已经尝试了几行有代码和没有代码的Auth.php - 结果是一样的。然而,在其他文件(index.php,IndexController.php)中,8个空格什么也不做。也许我需要做更多的实验。 - hjdm
说Apache崩溃了(但实际上并没有)。这并不是整个Apache崩溃,而是至少一个服务器池进程(甚至可能是CGI进程)。我相信这不是Apache的错误,而是与PHP或Apache PHP处理程序有关。请告诉我们完整/确切的PHP版本(5.3.X?) - Briareos386
显示剩余2条评论
1个回答

2
这是一个不太确定的猜测,但你遇到了一个奇怪的问题:这可能是 "布什隐瞒事实" 的惊喜吗?(也可以参见这个stackoverflow问题)。由于添加或删除空格可以解决问题......而且你说你正在使用Windows,这种情况有点可疑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接