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

 六月天天2502855997 发布于 2023-02-10 12:21

[解决了]

我正在localhost上运行一个PHP脚本(包含一些包含的脚本),它在结束前不断崩溃.

错误报告已启用.Opera,Safari和Firefox返回空白屏幕.但Chrome返回:

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

Apache日志返回:

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

当我第一次遇到问题时使用的是PHP 5.5.6降级到PHP 5.4.21之后问题仍然存在.

问题不在脚本内部.随机评论出50行代码解决了这个问题.让我想知道我的脚本是否可以长时间执行.

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

更新:

问题不仅出现在localhost上,而且还出现在我在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

更新3 :(解决方案)

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

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

1 个回答
  • UPDATE3 :(解决方案)

    PDO的永久选项足以使我的表现不佳。

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

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

    2023-02-10 12:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有