我在服务器上将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可执行文件的二进制大小,看看它们在两个系统上是否实际相同。如果没有,你可以将工作的从本地系统复制到服务器,看看是否有效。