PHP / Apache崩溃脚本(分段错误(11)

[解决了]

我在本地主机上运行PHP脚本(包含一些包含的脚本),并在结束之前不断崩溃。

报告错误。 Opera,Safari和Firefox返回空白屏幕。 但Chrome返回:

无法加载网页,因为服务器没有发送任何数据。 错误代码:ERR_EMPTY_RESPONSE

Apache日志返回:

[Sun Dec 15 19:29:23 2013] [注意] child pid 34267退出信号分割故障(11)

当我第一次遇到问题时使用PHP 5.5.6降级到PHP 5.4.21后,问题仍然存在。

问题不在脚本内。 随机发表50行代码解决了这个问题。 让我怀疑我的脚本是否可能需要很长时间来执行。

有没有人对我如何解决这个问题有任何建议?

更新:

问题不仅出现在本地主机上,而且还出现在运行在CentOs 6.4和PHP 5.3.3上的Web服务器上,并在Apache上出现相同的错误。

[Sun Dec 15 23:15:10 2013] [notice] child pid 18409退出信号分割故障(11)

UPDATE2:

从命令行运行php给出:

$ php index.php致命错误:在第135行的Encrypt.class.php中调用未定义函数mcrypt_create_iv()

在Encrypt.class.php的第135行之前放置注释之后

$ php index.php
分割错误:11

UPDATE3 :(解决方案)

在使用strace(strace php index.php)在命令行上运行索引之后,我在其中一个查询中发现了问题。

经过一些更多的调试(使用PDO而不是我自己的类)后,我发现问题在于设置我自己的PDO选项“ATTR_PERSISTENT => true”。 禁用此选项解决了我的问题。


UPDATE3 :(解决方案)

PDO的Persisten选项足以令我伤心。

用strace找到解决方案:用strace(strace php index.php)在命令行上运行索引后,我在其中一个查询中发现了问题。

分离查询后,我用默认的PDO替换了我的类。 添加我的类的选项,直到它被再次破坏:经过一些更多的调试(使用PDO而不是我自己的类)后,我发现问题是设置我自己的PDO选项“ATTR_PERSISTENT => true”。 禁用此选项解决了我的问题。

链接地址: http://www.djcxy.com/p/63963.html

上一篇: PHP/Apache crashing on script (Segmentation fault (11)

下一篇: Segmentation Fault error in PHP, using SOAP to connect to SalesForce