看板 PHP 關於我們 聯絡資訊
我在網路上找一個使用 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
MOONRAKER:裝imagemagick,再用exec執行convert。 08/25 21:43
MOONRAKER:不是所有的dirty job都要在php裡做。 08/25 21:44
kerash:我現在的重點就是,server不是我管的.. 08/26 00:16
kerash:所以任何安裝其他插件甚至修改php.ini 都得排除 08/26 00:16
knockout:output_buffering 08/26 18:44
arrack:要處理多大的圖,基本上就是要先配置同樣的大小的記憶體區 08/26 20:38
arrack:塊來用,要如何省?? 08/26 20:38
kerash:重點是我的圖沒這麼大,我需要的是美處理完一張就釋放 08/26 21:04
kerash:問題是他會累積,不會釋放...所以設定多少就累積到多少 08/26 21:05
MOONRAKER:那就難了 |D 08/26 23:22
scp958630:有 imagedestroy() 嗎? 08/27 13:06
shadowjohn:18M 一定太小的啦... 放心的設 256M 吧 08/27 15:09
kerash:就算256M , 等上傳的量到達一樣給你說爆滿.. 08/27 15:59
kerash:這才是我主要的問題.. 08/27 15:59
arrack:程式碼貼上來看看,你是用陣列在處理圖片嗎? 08/27 16:57
arrack:還是沒有imagedestroy()?? 08/27 16:58
kerash:似乎沒有這個程式碼,我回公司再貼,程式碼不在 08/27 21:57
kerash:網路也臨時找不到.. 08/27 21:57
kerash:第三個 david 的方法, 也是會有同樣問題。 08/31 11:22
kerash:我把 apache 重開後 , memory 一樣沒 free 掉 08/31 11:22