Php Imagick не работает после обновления Ubuntu - PullRequest
0 голосов
/ 16 ноября 2018

Я получаю сообщение об ошибке при преобразовании pdf в файл изображения на сервере, но работаю в локальной системе.

My Php Script

 $img = new \Imagick();
 $image = file_get_contents($file);
 $img->readImageBlob($image);
 $response = $img->getnumberimages();

ОшибкаПроизошло

Unrecoverable error: typecheck in .bind
Operand stack:
    --nostringval--  typecheck  --nostringval--  currentglobal  .currentglobal

Конфигурации системы

Конфигурация локальной системы

Imagick: ImageMagick 6.7.7-10 2018-09-28

UBUNTU: 14.04 LTS

PHP: PHP 7.0.32-4 + ubuntu14.04.1 + deb.sury.org + 1

gs: 9.25

Конфигурация системы сервера

Imagick: ImageMagick 6.8.9-9 Q16 x86_64 2018-09-28

UBUNTU: 16.04.1 LTS

PHP: PHP 7.0.32-0ubuntu0.16.04.1

gs: 9.25

Я пытаюсь вернуть версию Imagick в6.7, но не могу вернуть версию

Также я пытаюсь изменить файл policy.xml, но безуспешно.

1 Ответ

0 голосов
/ 16 ноября 2018

Reverting Image Magick, скорее всего, в любом случае не принесет вам пользы, так как это сообщение об ошибке Ghostscript.

Не видя входной файл, я не могу догадаться, что не так, но в отсутствиечто у вас есть 2 варианта;

1) Верните версию Ghostscript до 9.23 и попробуйте снова.

2) Попробуйте собрать Ghostscript из исходного кода, возможно, что сопровождающие пакета внесли некоторые изменения, которые ненаходятся в исходных источниках и доступны только в более поздней версии Ubuntu.

Вы также можете попробовать запустить Ghostscript в командной строке и посмотреть, что происходит в двух системах.Вам нужно будет получить командную строку из polixy.xml и заменить различные переменные правильными именами файлов.

Вы можете попробовать это в обеих системах, чтобы увидеть, что происходит.Наконец, вы можете сравнить двоичный размер исполняемого файла Ghostscript, чтобы увидеть, действительно ли они одинаковы в обеих системах.Если это не так, вы можете скопировать рабочий из вашей локальной системы на сервер и посмотреть, работает ли он.

...