Я тестирую свою систему миниатюр с реализацией Imagick, и форматы jpg, webp работают нормально, но с png всегда вылетает:
Я пробовал переустановить imagick в системе с imei (https://github.com/SoftCreatR/imei/), но это не помогло.
Я использую PHP 8.3, и вот моя информация об imagick:
Я проверил свои файлы с помощью онлайн-проверок, и они посчитали их подходящими и не поврежденными (использовал https://onlinepngtools.com/verify-if-image-is-png).
Я загружаю и изменяю размер файла, используя этот code (одинаковый code для всех расширений):
improper image header `/tmp/magick-PZJ-3aRiFe47BDqi3TXcH9qfg9muXbnF' @ error/png.c/ReadPNGImage/4107
/etc/php/8.3/cli/conf.d/20-imagick.ini,
imagick
imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.allow_zero_dimension_images => 0 => 0
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 1 => 1
$imagick = new \Imagick();
$imagick->readImageFile($structure->getResource()); // Throw is coming from here
$imagick->resizeImage(
$width ?? $imagick->getImageWidth(),
$height ?? $imagick->getImageHeight(),
\Imagick::FILTER_CATROM,
0,
$config->autoResize,
);
Евгений
Вопрос задан30 августа 2024 г.