php7使用xhprof造成内存泄露问题

版权声明:本文为本小白原创文章,(转载请说明出处,标明链接) 文中若有错误,敬请指正!——————编程不过是一门失传的艺术的别名,这门艺术的名字叫做“思考”。 https://blog.csdn.net/qq_32737755/article/details/85161583

最近,同事遇到一个问题,头疼了好多天。终于找到原因,特记下,以防后犯。

脚本切换php7执行,一段时间以后脚本就会报内存泄漏问题(但是该释放内存的地方都已经做了处理

经过同事不断的排查,最终定位在循环执行 函数体内的pdo->execute(array()) 这一行代码,传参发生变化,内存就涨的特别快。走了n多弯路后,改为使用bindParam(PDOStatement::bindParam)“成功”解决了问题。

生活处处有惊喜!!!......在测试环境运行原来的代码,竟没有复现问题。所以还是要继续追究问题根源。。。最后定位到是xhprof的问题。

总结:测试环境未开启xhprof,所以没有报错,正式环境开启了导致内存泄漏。

  • xhprof 是facebook 开发的一个测试php性能的扩展

看了下php官方手册:

xhprof php文档说明xhprof最后一次更新是在2013年。http://pecl.php.net/package/xhprof上的代码包,不支持php7,强行使用可能会出现意想不到的问题。

感谢这位博主给出的分析,大家可以仔细看下:https://blog.csdn.net/fanhengguang_php/article/details/60144471

猜你喜欢

转载自blog.csdn.net/qq_32737755/article/details/85161583
今日推荐