做圖片站的站長們應該都遇到了該問題,好點的相機照出來的高清晰大象素圖片無法直接上傳到站點,需要作者自己本地處理壓縮後方能上傳。該問題,主要原因是 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 內存後的試驗效果:
