作者kerash (Fly機飛阿飛)
看板PHP
標題[請益] 關於 PHP Fatal error: Allowed memory size..
時間Thu Aug 25 17:04:25 2011
我在網路上找一個使用
imagecreatefromjpeg .. imagecreatefromgif
來改變圖片大小的函式。
原本遇到的問題是預設的 8M 不夠用
所以我找方法,用 ini_set( memory_limit ) 來改變
(我知道可以改 php.ini,但是未來 server 不一定能修改,所以先用這個測試)
起初當然是可以修改比較大的圖片了
但是上傳到一定的大小後,他又會丟出一樣的ERROR
設定 12M => Fatal error: Allowed memory size of 12582912
設定 18M => Fatal error: Allowed memory size of 18874368 ..
反正到後來上傳到一定量,照樣還是會被 limit 住
我想這個問題應該是可以釋放記憶體解決
但是網路我找不到類似的資料是用來釋放的
(有些還寫重開APACHE .. 但以後總不可能這樣)
所以想問有人有類似狀況能夠解決的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.247.227
1F:→ MOONRAKER:裝imagemagick,再用exec執行convert。 08/25 21:43
2F:→ MOONRAKER:不是所有的dirty job都要在php裡做。 08/25 21:44
3F:→ kerash:我現在的重點就是,server不是我管的.. 08/26 00:16
4F:→ kerash:所以任何安裝其他插件甚至修改php.ini 都得排除 08/26 00:16
5F:推 knockout:output_buffering 08/26 18:44
6F:→ arrack:要處理多大的圖,基本上就是要先配置同樣的大小的記憶體區 08/26 20:38
7F:→ arrack:塊來用,要如何省?? 08/26 20:38
8F:→ kerash:重點是我的圖沒這麼大,我需要的是美處理完一張就釋放 08/26 21:04
9F:→ kerash:問題是他會累積,不會釋放...所以設定多少就累積到多少 08/26 21:05
10F:→ MOONRAKER:那就難了 |D 08/26 23:22
11F:→ scp958630:有 imagedestroy() 嗎? 08/27 13:06
12F:→ shadowjohn:18M 一定太小的啦... 放心的設 256M 吧 08/27 15:09
13F:→ kerash:就算256M , 等上傳的量到達一樣給你說爆滿.. 08/27 15:59
14F:→ kerash:這才是我主要的問題.. 08/27 15:59
15F:→ arrack:程式碼貼上來看看,你是用陣列在處理圖片嗎? 08/27 16:57
16F:→ arrack:還是沒有imagedestroy()?? 08/27 16:58
17F:→ kerash:似乎沒有這個程式碼,我回公司再貼,程式碼不在 08/27 21:57
18F:→ kerash:網路也臨時找不到.. 08/27 21:57
20F:→ kerash:第三個 david 的方法, 也是會有同樣問題。 08/31 11:22
21F:→ kerash:我把 apache 重開後 , memory 一樣沒 free 掉 08/31 11:22