做圖片站的站長們應該都遇到了該問題,好點的相機照出來的高畫質晰大象素圖片無法直接上傳到站點,需要作者自己本地處理壓縮後方能上傳。該問題,主要原因是 PHP 的使用記憶體太小導致的。
解決方法 1 為:
開啟 php.ini 檔案,找到
memory_limit = 128M
將 128 改大點,我本地測試修改為 256M 後,論壇上傳 8M 畫素為 5184 x 3456 的大圖片毫無壓力。當然具體情況你可以根據自己的伺服器進行設定,現在的伺服器記憶體都很大的,稍後給大點不要緊。
解決方法 2 為:(該方法不推薦,適用於虛擬主機使用者)
開啟檔案 source/class/class_image.php ,找到該程式碼:
$bg = imagecolorallocate($copy_photo, 255, 255, 255);
刪除即可。
注:方法 2 也有可能因為 PHP 的使用記憶體太小導致無法上傳,所以不推薦方法 2 。
推薦使用方法 1(提高 php 自身使用記憶體,才是王道) 。

修改提高 PHP 記憶體後的試驗效果:
