Есть ли способ предотвратить исчерпание памяти в библиотеке изображений PHP GD ? Если загружено слишком большое изображение, GD имеет тенденцию исчерпывать память, завершая сценарий. Я бы хотел, чтобы оно генерировало ловимое исключение или что-то в этом роде, но, увы, это не так.
Прямо сейчас я использую сценарий "cobbled-Together", который сначала выдает ini_set('memory_limit', '128M')
, если это работает, я обычно все готово. Однако в зависимости от конфигурации сервера это может оказаться невозможным, поэтому я прибегаю к алгоритму, который пытается оценить объем необходимой памяти (с учетом разрешения, глубины цвета, каналов и коэффициента выдумки), а затем сравнивает его с memory_get_usage()
если функция существует, в противном случае выполняется грубая оценка.
Пока все работает, но далеко не элегантно и, в некоторых случаях, не получится, я уверен. Есть ли лучший способ сделать это, то есть, если GD изящно потерпит неудачу, если нужно, вместо того, чтобы все замять?