对不起我的英文:)
我有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。
这帮助了我。
有没有人对此发表任何评论?或者更好的解决方案?
答案 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中必须具有的补丁,正好使用更大的消息。