2010-09-10 45 views
5

我有一個調整大小的腳本,我在PHP中使用GD(我的VPS沒有安裝imagemagick)來調整圖像大小,我最近開始獲取內存錯誤,所以我增加了memory_limit高達50Mb,仍然出現內存錯誤。GD在調整大小時是否需要這麼多內存?

我想調整大小的圖像只有2Mb,這是正確的PHP圖像的東西,這聽起來有點不對我。

+1

顯示代碼.. – hsz 2010-09-10 11:58:24

+4

圖像大小對壓縮格式沒有意義。告訴我們圖像的*尺寸*。 – 2010-09-10 11:59:20

+1

一個VPS通常代表「你可以安裝你需要的一切」。 – 2010-09-10 12:00:27

回答

6

要調整圖像大小GD必須在未壓縮的圖像,這是顯着大於2MB,我假設。 Imagemagick需要存儲整個圖像數據(pixels * bit_depth),而且還需要存儲更多內存中的實際內容。

50兆字節對於處理圖像並不是很多。例如,Drupal警告你,如果你的內存限制小於96MB,如果你有圖像大小調整等等。啓用。對於尺寸合理的圖像來說,64MB足夠滿足我的體驗,但是如果您從數碼相機中放入全尺寸圖像,則會遇到內存限制問題。

+1

你的意思是'pixels * bit_depth/8' :-) – TMS 2012-04-17 20:51:35

0

在我的共享/雲主機上(2.7英鎊/月),在調整圖像大小時仍然沒有看到任何警告/錯誤。我將限制設置爲200MB(有時用戶需要上傳非常大的圖像)。正如費邊說的那樣,我猜50是太低了。

相關問題