如何调试致命错误:允许的内存大小为XXXX字节耗尽(试图分配VVV字节)

时间:2014-07-09 20:26:50

标签: php memory logging error-handling

所以,我知道我的具体错误是什么(致命错误:允许的内存大小为134217728字节耗尽(试图分配71个字节)以及导致它的原因。 我不是在寻找解决方案。
我试着学习的是当这种类型的错误发生时,或者如果可能的话,我将如何转储$ _SESSION和$ _REQUEST并将跟踪堆栈到文件中。

1 个答案:

答案 0 :(得分:0)

如果没有额外的模块,这是不可能的 - 一旦达到内存限制,就会立即崩溃。但是,您可以安装Xdebug模块并让它记录您指示所需的堆栈跟踪。

以下是有关使用xdebug配置所需精确转储的一些信息:http://xdebug.org/docs/stack_trace

你可以告诉xdebug你想要转储特定的变量和超级全局变量。这应该符合您的需求。

同样,您可以安装Newrelic,但与xdebug一样,它将需要加载共享模块并且您将获得性能损失(在这种情况下它不是免费的)。