NuSOAP varDump PHP致命错误:允许的内存大小为134217728字节

时间:2012-11-22 10:48:24

标签: php nusoap

对不起我的英文:)

我有NuSOAP 0.9.5版。我试图获取大数据时遇到了php错误:

PHP致命错误:允许的内存大小为134217728字节耗尽(尝试分配27255652字节)

堆栈跟踪显示问题出在varDump方法中。

我的解决方案是:

我已将varDump方法(在nusoap.php中)更改为:

function varDump($data) {
    $ret_val = "";
    if ($this->debugLevel > 0) {
        ob_start();
        var_dump($data);
        $ret_val = ob_get_contents();
        ob_end_clean();
    }
    return $ret_val; 
}

然后重置

$GLOBALS['_transient']['static']['nusoap_base']['globalDebugLevel']

为0(从9开始)。在class.nusoap_base.php和nusoap.php。

这帮助了我。

有没有人对此发表任何评论?或者更好的解决方案?

1 个答案:

答案 0 :(得分:0)

非常感谢和尊重Aaron Mingle为NuSOAP内存问题找到的真正解决方案。解决方案可以在这里找到:

https://sourceforge.net/p/nusoap/discussion/193578/thread/12965595/

我已经实施并立即进行了测试,现在我很高兴因为它完美无缺。在我的情况下,我有大约45 MB的SOAP消息大小(包括~64个基本编码的pdf文件),甚至2 GB的内存也没有帮助PHP。所以我尝试了Aaron Mingle的解决方案,这是一个很好的解决方案,只有384 MB内存授予PHP。

+1 Alexey Choporov因为他的建议也是必需的。因此,两个修改都是NuSOAP中必须具有的补丁,正好使用更大的消息。