You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取PDF时出现ImagickException: Zero size image string passed错误如何解决?

报错原因与解决方案

报错详情:ImagickException: Zero size image string passed in /home/289812.cloudwaysapps.com/eeyqmgqped/public_html/online/mod/securepdf/view.php:98 Stack trace: #0 /home/289812.cloudwaysapps.com/eeyqmgqped/public_html/online/mod/securepdf/view.php(98): Imagick->readImageBlob() #1 {main}

这个报错是ImageMagick默认禁止读取PDF格式文件导致的,可按以下步骤修复:

  • 找到ImageMagick的策略配置文件policy.xml,常规路径为/etc/ImageMagick-<版本号>/policy.xml,不同服务器环境路径可能略有差异
  • 打开配置文件,找到默认的PDF权限规则:
<policy domain="coder" rights="none" pattern="PDF" />

将rights属性值修改为read(如果需要写入权限可改为read|write),修改后内容如下:

<policy domain="coder" rights="read" pattern="PDF" />
  • 保存配置文件后,重启对应服务生效,根据你的运行环境重启Web服务(Apache/Nginx)或者PHP-FPM服务即可。

其他异常排查

如果修改后还是报错,可逐一检查以下项:

  • 确认传入readImageBlob方法的PDF内容本身不为空,可先打印传入的二进制内容长度做校验
  • 确认服务器已安装PDF处理依赖Ghostscript,执行gs --version能正常输出版本号即为安装成功
  • 确认PHP的imagick扩展已正常加载,执行php -m | grep imagick能看到imagick即为加载正常

内容的提问来源于stack exchange,提问作者Saravanan P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:15:00