2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

php不能打開處理比較大圖片的解決方案

2022-05-24 12:35 欄目:技術開發(fā) 查看(4920)

今天某用戶反饋發(fā)布一條內容后,整個后臺管理列表打不開,而且網站首頁打開也是空白的。通過定位發(fā)現(xiàn)是這條內容上傳了一張近一億像素的圖片,系統(tǒng)在進行圖片縮略處理的時候直接卡死了(該系統(tǒng)基于thinkphp開發(fā),卡在了\think\Image::open方法處)。那么如何避免這種問題呢,主要有如下幾種解決方案:

1、最粗暴的方式:增加腳本運行內存限制和時間限制。

在默認狀態(tài)下php安裝后,腳本的的內存限制是128M,如果一次處理過大的任務,則可能超過所允許的內存量而出錯??梢栽趐hp代碼處加上內存限制參數(shù)值設定,如下:

ini_set("memory_limit", "512M"); //默認一般是128M

也可以直接修改php的配置文件php.ini進行修改

memory_limit = 512M

QQ截圖20220524122423

這種方式適合網站性能要求不是特別高且服務器內存不是太小的時候,否則如果頻繁運行較大任務占用內存資源,勢必會影響系統(tǒng)性能。

2、把壓力轉給他人的方式:使用圖片云存儲,在云端進行圖片處理。

系統(tǒng)圖片直接上傳到專門的圖片存儲云服務(如阿里云OSS等),這些云服務有豐富的在線處理功能,如常用的圖片壓縮、剪切等,云服務提供的功能可以完全滿足絕大多數(shù)場景的需求。而且云服務作為專業(yè)的服務平臺,一般已經考慮了各種極端情況,比我們自己寫的代碼要考慮得更加全面。最重要的是,交給云服務處理這些任務不占用任何網站系統(tǒng)本身的系統(tǒng)資源。

3、經濟的方式:上傳前進行圖片壓縮。

除了個別需要使用原圖的場景,在現(xiàn)實應用中并不需要使用圖片原圖(比如文章配圖、封面圖等),一般不超過2000×2000px,沒必要存儲超大的原圖(現(xiàn)在即便手機拍出來的圖片動不動就是上億像素的)。所以可以在上傳到系統(tǒng)服務端前,在用戶前端就完成圖片的壓縮上傳。

這樣對于網站系統(tǒng)來講,不管是存儲在服務器本地還是云存儲服務上,都可以節(jié)省大量的帶寬資源和計算資源;對于網站使用的用戶來講,上傳的時候也可以減少帶寬流量的浪費;是一種很經濟的解決方式。

與我們的項目經理聯(lián)系
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流

轉載請注明出處:php不能打開處理比較大圖片的解決方案 - 微構網絡
分享:
镇安县| 土默特右旗| 莒南县| 靖西县| 卢氏县| 五河县| 永年县| 探索| 海城市| 鄂温| 岱山县| 布拖县| 咸阳市| 三亚市| 富平县| 十堰市| 武隆县| 东明县| 芦山县| 建阳市| 吉林省| 庄浪县| 仁化县| 牙克石市| 泗阳县| 漳浦县| 右玉县| 兴业县| 洞头县| 斗六市| 青浦区| 望谟县| 犍为县| 泊头市| 南投市| 阿图什市| 鄄城县| 仙居县| 昌邑市| 南丰县| 大理市|