2012-11-22 54 views
3

對不起,我的英語:)NuSOAP varDump PHP致命錯誤:允許的內存大小134217728字節用盡

我有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

Thx對於你的想法,但只有你的建議是不夠​​的,在我的情況下看到我的答案在下面。這兩個補丁都需要執行。 –

回答

0

非常感謝和尊重Aaron Mingle爲NuSOAP內存不足問題找到真正的解決方案。該解決方案可以在這裏找到:

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

我已經實現,並立即測試,我現在很高興,因爲它可以完美運行。在我的情況下,我有大約45 MB的SOAP消息大小(包括大約30個以base64編碼的pdf文件),甚至2 GB的PHP內存也沒有幫助過。所以我已經嘗試過Aaron Mingle的解決方案,這是一個很好的解決方案,只有384 MB的內存授予了PHP。

+1給Alexey Choporov以及因爲他的建議也是必需的。所以這兩個修改都必須在NuSOAP中有更好的消息工作。

相關問題