У меня дешевый сервер за 5 долларов в месяц, 1G RAM обрабатывает некоторые изображения для моего сайта. Очень редко я сталкиваюсь с ошибкой сегментации при PHP Imagick при записи образа GIF на диск.
Я установил ограничение памяти для команды консоли, надеясь, что PHP сначала уловит проблему и выдаст исключение что я могу правильно обработать, но это не сработало.
Особая проблема заключается в том, что определенные изображения GIF приводят к тому, что он обрабатывает sh в этой строке кода:
echo 'Writing images to disk.' . PHP_EOL;
$file = $img->writeImages($imageOnDIsk, true);//crashes here
echo 'Finished writing images to disk.' . PHP_EOL;
Спецификация c GIF - это GIF для взрослых, поэтому я не уверен, что смогу поделиться им.
Вот мои журналы сервера:
Setting memory limit.
Pulling URL: https://i.redd.it/gyvc8t9xdvb41.gif
Coalescing Images
Done Coalescing Images
Processing regular image.
Not comic.
Deleting temp image on disk.
Writing images to disk.
Segmentation fault (core dumped)
Кажется, что это изображения ширина * высота * битовая глубина * кадры занимают более 1 ГБ памяти. Нужно обнаружить это перед рукой.