Я обнаружил странную проблему со следующим кодом:
$image = new Imagick($real_location);
$ident = $image->identifyImage();
$format = $ident['colorSpace'];
В большинстве случаев это нормально. Но на некоторых фотографиях оно сбрасывает соединение и в основном заставляет его выглядеть, как будто время ожидания страницы истекло.
Примером фотографии является JPG с разрешением 72 dpi, 3008x2000, данные EXIF включены, RGB, 8-битный канал.
Если я запустил его, как показано ниже, это нормально:
exec("identify -format %r ".$real_location,$output);
Однако я предпочел бы держаться подальше от exec () и попытаться, если возможно, придерживаться библиотеки.
Я просмотрел журналы ошибок PHP и обнаружил следующее:
httpd: magick/option.c:1264: GetImageOption: Assertion `image_info != (ImageInfo *) ((void *)0)' failed.
[Mon Mar 26 15:40:26 2012] [notice] child pid 1582 exit signal Aborted (6)