Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP导致的Apache故障_Php_Apache_Segmentation Fault - Fatal编程技术网

PHP导致的Apache故障

PHP导致的Apache故障,php,apache,segmentation-fault,Php,Apache,Segmentation Fault,当运行一段特定的PHP代码时,我在Apache2中遇到了一个分段错误。确切的错误是程序以信号11终止,分段故障。启用堆芯转储并使用sudo gdb apache2-core/tmp/apache2 gdb dump/core分析堆芯转储后,我得到了可以在此处获得的结果。显然,spl\u array.c出了问题 我将其缩小为一段PHP代码,该代码使用由Propel 1.7生成的方法。这段代码删除了特定类的交叉引用条目: foreach($record->getCrossReferences(

当运行一段特定的PHP代码时,我在Apache2中遇到了一个分段错误。确切的错误是
程序以信号11终止,分段故障。
启用堆芯转储并使用
sudo gdb apache2-core/tmp/apache2 gdb dump/core
分析堆芯转储后,我得到了可以在此处获得的结果。显然,
spl\u array.c
出了问题

我将其缩小为一段PHP代码,该代码使用由Propel 1.7生成的方法。这段代码删除了特定类的交叉引用条目:

foreach($record->getCrossReferences() as $crossReference) {
    $record->removeCrossReference($crossReference);
}
如果在循环外部调用
removeCrossReference()
,则不会发生错误。奇怪吧

由于PHP在某些c代码上崩溃,我发现很难获得产生segfault的最小代码示例。有没有人知道是什么导致了SEG故障?或者给我一些关于获取最小代码样本的建议?我认为PHP.org上的人不会接受没有最少代码样本的bug报告

我使用的版本:

$ php -v
PHP 5.3.10-1ubuntu3.8 with Suhosin-Patch (cli) (built: Sep  4 2013 20:05:42) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

$ /usr/sbin/apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built:   Jul 12 2013 13:38:21

Propel version 1.7.0-dev

有趣的是,我还有一台Arch机器,上面有更新版本的Apache和PHP。在这台机器上,故障不会发生。但我不知道这是否是因为Arch和Ubuntu机器的更新版本或不同配置造成的。

很难说。虽然知道这里发生了什么是很有趣的,但我想php.net的人会告诉你:“升级”你有合适的php源代码吗?(正如gdb所预期的那样?@hek2mgl是正确的。作为“php.net的人”之一,我只能要求您升级。5.3.10是一个古老的版本,自发布以来修复了很多bugrelease@JimiDini改成“乡亲”似乎用英语听起来更好。。Sry:)问题还在于我必须说服我们的主机也升级php。这个问题也发生在我们的主人身上。他们还使用PHP5.3.10。如果我不能给他们一个起码的例子,他们应该升级,我将一事无成。