相关疑难解决方法(0)

你如何调试php"Out of Memory"问题?

我最近遇到了一些关于PHP内存限制的问题:

内存不足(分配22544384)(试图分配232个字节)

这些都是调试的麻烦,因为我没有留下关于导致问题的原因的大量信息.

添加关机功能有所帮助

register_shutdown_function('shutdown');
Run Code Online (Sandbox Code Playgroud)

然后,使用error_get_last(); 我可以获取有关上一个错误的信息,在这种情况下,"内存不足"致命错误,例如行号和php文件名.

这很好,但是我的php程序非常面向对象.堆栈深处的错误并没有告诉我有关错误时控制结构或执行堆栈的信息.我已经尝试过debug_backtrace(),但这只是在关机期间向我显示堆栈,而不是错误发生时的堆栈.

我知道我可以使用ini_set或修改php.ini来提高内存限制,但这并没有让我更接近实际找出消耗如此多内存的内容或错误期间执行流程的样子.

任何人都有一个很好的方法来调试高级面向对象的PHP程序中的内存错误?

php memory debugging methodology

29
推荐指数
4
解决办法
2万
查看次数

标签 统计

debugging ×1

memory ×1

methodology ×1

php ×1