簡體   English   中英

如何避免PHP內存耗盡?

[英]How to avoid PHP memory exhaustion?

致命錯誤:第166行/home/alien/Desktop/1/scanner.php中允許的內存大小為33554432字節(嘗試分配136753字節)

這是PHP代碼的166行:

 $text[$i] =  curl_multi_getcontent ($curl[$i]);

在這里可以通過清空RAM或其他東西來解決這個問題,對不起,我不是程序員

看起來您的服務器配置了分配給PHP的32MB內存。 如果不了解您的應用程序的更多信息,這聽起來是合理的數量,但肯定有更多需要的應用程序。

php.ini文件中,您可以增加內存限制,如下所示:

memory_limit = 64M

請注意,不斷增加分配給應用程序的內存量通常是更大問題的標志。 您可能還希望開發人員查看代碼以查找未正確清理的任何數據。

Blah blah,memory_limit。 好像每個人都把我打敗了。

但請注意,php的默認內存限制通常為8或16mb,而你使用的是32 ...有人已經采取了增加限制的步驟,並且每增加一次,你就會降低您站點的整體性能...更高的限制意味着更少的實例,更高的開銷,更多可能的錯誤。

我想你需要研究一下吃掉所有這些公羊的東西。 不要采用陳詞濫調,但對於任何人來說,32mb應該足夠了,如果你只是不斷增加限制,你就會把自己描繪成一個非常難看的角落。

您可以通過php.ini增加每個PHP請求的可用內存量。 有關詳細信息,請參閱memory_limit文檔

但是,請注意那里的警告: 這有助於防止編寫糟糕的腳本占用服務器上的所有可用內存。 也許你的第一個行動應該是去與這個代碼的開發者交談。

PHP中沒有free_ram()函數。 你做了幾個選擇:

  • 增加php可用的內存限制。 在你的php.ini文件中增加memory_limit
  • unset()變量並交叉你的手指。 PHP運行其垃圾收集器,因為它認為合適,很難衡量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM