2012-01-13 26 views
-2

獲取以下錯誤,我瞭解並曾見過。但有一件事似乎很奇怪,它試圖分配一個低於允許的內存大小的數量。這不是很奇怪嗎?內存不足,但允許高得多

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in XXX on line 93 

這可能是某種配置錯誤與內存管理,我正在使用雲服務器。

+0

[允許的內存大小33554432個字節用盡(試圖分配43148176字節)在PHP中](http://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted -tried-to-allocate-43148176-byte) – 2012-01-13 00:32:14

+3

如果你有10美元的預算,你花了9美元,你試圖以2美元的價格買東西,你已經超過了你的允許限制... – 2012-01-13 00:32:33

+0

請使用搜索或谷歌)之前提出新的問題 - 許多已被問及回答。 (通常我不會引用谷歌,但...如果你[谷歌](http://www.google.com/search?client=safari&rls=en&q=Allowed+memory+size+of+33554432+bytes+exhausted&ie= UTF-8&oe = UTF-8)你的錯誤,確實存在* pages *的結果) – 2012-01-13 00:32:44

回答

3

的數字「試圖分配7680字節」並不意味着腳本分配的內存總量,但是它超過極限的最後部分。

假設你的腳本已經分配了33550000個b,試圖分配另一個7680 b。總數超過了內存限制,這就是錯誤出現的原因。

+0

謝謝你花時間給我一個有用的答案,讓我更好地理解它,而不是火焰我。 – 2012-01-13 00:41:32

+0

不客氣,無需激怒任何人。 – 2012-01-13 11:33:25

0

也許內存限制設置得比你想象的要小?

你可以用它來顯示當前的限

echo ini_get('memory_limit'); 

ini_set('memory_limit', '64M'); 

當然增加它內聯,你可以看到整個PHP enviornment與

echo phpinfo();