【发布时间】:2011-09-01 16:00:57
【问题描述】:
没有任何明显的原因,我的一个 cakePHP 网站 (v1.3.11) 已停止工作(在 chrome 中显示“未收到数据”页面 - 错误 324)但另一个仍然很好 - 至少目前-.
/var/log/apache2/error.log 显示[notice] child pid 8502 exit signal Segmentation fault (11)
和 /var/log/messages 显示 kernel: [15482058.932226] apache2[8502]: segfault at 7fff7f14fb58 ip 7f1b9d886e55 sp 7fff7f14fb60 error 6 in libphp5.so[7f1b9d576000+588000]
这是我的 php -v
PHP 5.2.6-1+lenny13 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 1 2011 16:01:01)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
我完全不知道发生了什么,所以欢迎任何想法。
编辑:
看起来 /cake/libs/controller/controller.php 中的 render() 函数正在执行无限循环。任何想法为什么会发生这种情况? (它发生在网站的所有页面上,最近没有代码更改......)
【问题讨论】:
-
您最近是否更改/更新了服务器上的 PHP 版本?还值得注意的是,每次我在 PHP 中遇到段错误时,都是因为递归函数被调用太多次并且内存不足。 Zend 引擎不正确地处理此问题并导致段错误。我还没有弄清楚原因。
-
已经重启了apache2,没有成功。
-
@Dave:我不这么认为,虽然上面的 php -v 似乎是这么说的。那我怎么能降级呢?正如你所说,我认为它更有可能是一个循环。
-
@Dave:看看编辑部分。
-
@Nicholas 我对蛋糕的内部运作不是那么好,我可能不得不在这一点上鞠躬,虽然听起来你越来越接近答案......如果我可以想出什么我会让你知道的。
标签: php apache cakephp segmentation-fault