Php Imagick在ubuntu升级后不工作



我在服务器上将pdf转换为图像文件但在本地系统上工作时遇到错误。

我的Php脚本

$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文件,但没有成功。

还原图像Magick很可能对您没有任何好处,因为这是Ghostscript错误消息。

在没有看到输入文件的情况下,我无法猜测出了什么问题,但如果没有,你有两个选择;

1( 将Ghostscript版本恢复到9.23,然后重试。

2( 尝试从源代码构建Ghostscript,包维护人员可能做出了一些普通源代码中没有的更改,并且只在Ubuntu的更新版本中公开。

您也可以尝试在命令行上运行Ghostscript,看看这两个系统上会发生什么。您需要从polixy.xml获取命令行,并用正确的文件名替换各种变量。

你可以在两个系统上都尝试一下,看看会发生什么。最后,您可以比较Ghostscript可执行文件的二进制大小,看看它们在两个系统上是否实际相同。如果没有,你可以将工作的从本地系统复制到服务器,看看是否有效。

最新更新