将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文件,但是没有运气。
答案 0 :(得分:1)
还原Image Magick极有可能对您没有任何帮助,因为那是Ghostscript错误消息。
没有看到输入文件,我无法猜测出什么问题,但是在没有输入文件的情况下,您有2个选择;
1)将您的Ghostscript版本还原到9.23,然后重试。
2)尝试从源代码构建Ghostscript,这可能是软件包维护者进行了一些更改,而这些更改不在原始版本中出现,而仅在更高版本的Ubuntu中公开。
您还可以尝试在命令行上运行Ghostscript,看看在两个系统上会发生什么。您需要从polixy.xml获取命令行,并用正确的文件名替换各个变量。
您可以在两个系统上都尝试一下以查看会发生什么。最后,您可以比较Ghostscript可执行文件的二进制大小,以查看它们在两个系统上是否实际上相同。如果不是,则可以将工作正常的计算机从本地系统复制到服务器,然后查看是否有效。