2013-09-10 63 views
0

我是一個新手PHP程序員,而不是如此在行abouts比特和字節,我想知道爲什麼這個消息甚至顯示出來:爲什麼這個php致命的錯誤信息顯示?

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 40 bytes) in D:\xampp1.8.3\htdocs\hkmschat\default.php on line 227

我知道我的網站是非常大的,但它加載速度不夠快,改變它會是一件痛苦的事情。

我想知道,當允許的內存大小爲134217728字節(128兆字節)時,爲什麼會分配40個字節太多。有人可以幫我解釋「允許的內存大小」和「分配的內存」的含義。再一次,我對這些知之甚少。

我也將php.inimemory_limit值更改爲「256M」,但它沒有工作。錯誤只是改成了

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 40 bytes) in D:\xampp1.8.3\htdocs\hkmschat\default.php on line 227

有人能告訴我我失蹤了什麼嗎?

在此先感謝。

+0

也許你有內存泄漏的地方。我們無法知道沒有一些代碼。 – Rik

+0

它很長,我不想在這裏粘貼整個東西 –

+0

134217728 B == 128 MB。你可以在這個問題上拋出更多的內存,直到你耗盡內存,或者你可以解決你的代碼使用*方式*更多內存的事實。無論如何,您是否在更改php.ini後重新啓動了Web服務器? – Sammitch

回答

1

這不是試圖只分配40個字節。你已經有128Megs的東西加載到內存中,並且它試圖再加載40個字節。這會讓你超出限制,並且你會得到致命的錯誤。至於php.ini,有幾個版本的php.ini可以被使用。您應該使用測試頁並使用phpinfo();調用來確定您正在修改正確的php.ini。

+0

我正在使用正確的'php.ini' –

+0

「我也將php.ini的memory_limit值更改爲」512M「,但它不起作用。」如果我正在解釋這種關係,那麼當你給它更多的記憶時,你說這個頁面停止工作。這使我相信你的代碼中可能有某種循環需要大量的內存,也許是一個無限循環(無限大)。張貼一些代碼以獲取更多幫助。 – Zak

+0

是的 - 我在該地區有很多循環 - 也許一個是無限的。 –

相關問題