2011-08-14 138 views
7

我有一個腳本,竟然放棄了我頭疼特定服務器上。致命錯誤:67108864個字節允許內存大小耗盡

我不斷收到此錯誤:

致命錯誤

max_execution_time = 300  ; Maximum execution time of each script, in seconds 
max_input_time = 600 ; Maximum amount of time each script may spend parsing request data 
memory_limit = 96M ; Maximum amount of memory a script may consume (16MB) 

其中:用盡

即使我已經編輯的php.ini這個67108864個字節允許內存大小67108864字節限制會來自哪裏?

+0

某處存在「64 MB」的內存限制取代您的設置。你確定,你的設置被加載?什麼是'phpinfo()'說的? –

+1

如果您沒有使用CGI PHP設置,你有沒有重新啓動你的Web服務器讓'php.ini'更改生效? –

+0

不是。尚未重新啓動服務器。我想這就是爲什麼。 – RegEdit

回答

5

首先,據我所知,它必須是96M(不含B) 其次,確保你正在編輯正確的php.ini,並且在更改後重新啓動web服務器(如果PHP例如加載爲apache模塊)。

;第三,增加了內存限制可能會解決問題,但它是最好的檢查爲什麼64M不夠用:)

+0

謝謝。它來自simple_html_dom.php。它是一個內存密集型刮板腳本。我只是試圖讓它起作用以追溯它。 – RegEdit

0

你有沒有重新啓動Apache?有時候這是必要的。

+0

還沒有。它的共享主機Bluehost帳戶。我可以通過cpanel重新啓動嗎? – RegEdit

+0

@RegEdit Shared Hosting帳戶不會讓您隨意重新啓動Web服務器。這會影響該服務器上的所有其他用戶。你將不得不等待幾分鐘。 –

0

我遇到過類似的問題。這可能是因爲你在某些變量中存儲了非常大的東西,或者從你的mySQL表中選擇了很多數據。您需要提供有關腳本的更多信息,因爲64M足以執行大部分處理。

+0

我同意。它不是我的hostgator設置的問題。沒有問題。但在這個bluehost盒子上,使用php 5.2.17,它在牆上跑來跑去。 – RegEdit

0

通過閱讀評論,很明顯你在一個共享的託管帳戶。

那些通常不會讓你編輯自己php.ini,也不允許任何限制你賞心悅目。這會很快取消共享託管服務器。

相關問題