【问题标题】:ImagickException: Zero size image string passedImagickException:零大小的图像字符串传递
【发布时间】:2021-09-18 10:15:37
【问题描述】:

发生以下错误。如何解决?

您必须将 ImageMagick 的策略设置为允许读取 PDF。见override default ImageMagick policy.xml

ImagickException:在 /home/289812.cloudwaysapps.com/eeyqmgqped/public_html/online/mod/securepdf/view.php:98 堆栈跟踪中传递的零大小图像字符串:#0 /home/289812.cloudwaysapps.com/eeyqmgqped /public_html/online/mod/securepdf/view.php(98): Imagick->readImageBlob() #1 {main}

【问题讨论】:

  • 我从未使用过 Cloudways,您使用的是自己的实例吗?您可以编辑 /etc/ImageMagick-6/policy.xml 吗?
  • 它在哪里?

标签: security pdf imagemagick moodle lms


【解决方案1】:

您是否编辑了 policy.xml 以包含像 install process 所说的读取权限?

  • 请注意,您必须安装 Moodle 本身不需要的 PHP 模块。
  • 在您的系统上安装 php-imagick 模块。
  • (debian/ubuntu) apt-get install php-imagick
  • (Redhat/Centos) yum install php-imagick
  • 配置 imagemagick 以允许 PDF 阅读,在策略中添加 <policy domain="coder" rights="read" pattern="PDF"> /etc/ImageMagick-6/policy.xml 在此处查看更多详细信息: override default ImageMagick policy.xml
  • 重新启动 php-fpm 或您的网络服务器。
  • cd [moodle]/mod/
  • git clone https://github.com/yedidiaklein/moodle-mod_securepdf.gitsecurepdf
  • 转到您的moodle通知页面并安装。

我从未使用过 Cloudways,但如果它是托管主机,并且您无法通过 shell 访问正在运行的实例,则可能需要向他们寻求解决方法。

【讨论】:

  • 亲爱的 Nelloverflow,请帮助我如何在 Moodle 上安装 php-imagick 模块。我已经安装了 SecurePDF 模块。所以请帮我在moodle上安装php-imagick模块。谢谢,
  • php-imagick 本身并没有安装在moodle上,而是安装在您正在运行的操作系统上。你是如何安装moodle的?
  • 上传一个 zip 文件备份并使用数据库名称、用户名、密码和 dataroot 配置 config.php 文件,然后只需运行 url doamin.com/online/index.php。我只是这样安装的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 2010-10-04
相关资源
最近更新 更多