iT邦幫忙

0

PHP GD庫無法壓縮高解析度的照片解決方式(Allowed memory size bytes exhausted)

在剛剛遇到了這個問題

上傳普通解析的圖片,例如 2000x2000 都是可以正常上傳
也能夠使用 GD庫對其解壓縮
只是當我上傳了 6000x6000 甚至更高的圖片時,一樣可以普通上傳
但是卻無法上傳?
查看 error_log 錯誤表示

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes)

類似這樣的錯誤訊息
只要在後端表頭宣告就能夠解決(但很耗能,記憶體要很夠...)

ini_set('memory_limit', '-1'); 

或是到 php.ini 修改 「memory_limit」值
macos 的php.ini路徑:/etc/php.ini
ubuntu 的php.ini路徑:/etc/php/7.0/apache2
取決於你使用的php版本

參考
https://ianakaberlin.medium.com/php-gd%E5%BA%AB-%E5%A3%93%E7%B8%AE%E9%AB%98%E8%A7%A3%E6%9E%90%E5%BA%A6%E7%85%A7%E7%89%87%E5%87%BA%E7%8F%BE-allowed-memory-size-bytes-exhausted-%E9%8C%AF%E8%AA%A4%E8%A7%A3%E6%B1%BA%E6%96%B9%E5%BC%8F-%E4%BC%8A%E6%81%A9%E8%B8%A9%E5%9D%91%E7%AD%86%E8%A8%98-caa0bf25d087


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言