이미지 리사이즈와 PHP 메모리


ownCloud 프리뷰 이미지 생성이 되지않아, UTF-8(한글) 파일명 때문인가 부터 시작해서 오류 상황을 쫓아가 보니 결국엔 메모리 문제.

Allowed memory size of 268435456 bytes exhaus
ted (tried to allocate 25000 bytes) at \/var\/www\/html\/owncloud\/lib\/private\/image.php#489

 

이미지의 용량이 문제가 아니라, 이미지의 크기(가로/세로)가 문제였었군…

– 이미지 크기와 연관하여 사용되는 메모리 량을 측정해 볼 수 있는 페이지:

http://www.dotsamazing.com/en/labs/phpmemorylimit

– 관련 PHP 스크립트

$imageInfo = getimagesize('PATH/TO/MY/IMAGE');
$memoryNeeded = round(($imageInfo[0] * $imageInfo[1] * $imageInfo['bits'] * $imageInfo['channels'] / 8 + Pow(2,16)) * 1.65);