【问题标题】:ImageMagick ver: 7 ineffective "policy.xml" (context "pdf reading in /temp folder", platform Ubuntu 18.4)ImageMagick ver:7无效“policy.xml”(上下文“/temp文件夹中的pdf读取”,平台Ubuntu 18.4)
【发布时间】:2021-06-29 22:43:02
【问题描述】:

这不是 ImageMagick 6 中的问题的重复。 我正在使用 ImageMagick 7.0.11-5,但无法阅读 pdf。为了做到这一点,我对我系统上可以找到的所有“policy.xml”进行了更改,然后还重新启动了 Apache,但我仍然遇到相同的“ImageMagick 未经授权的 /tmp/xyz-abc.pdf”问题.

我什至授予了“/tmp”文件夹的完全权限,甚至将“policy.xml”中的文件夹路径从 /tmp 更改为“/home/my_user”,但没有任何帮助。

我发现以下四 (04) 个“policy.xml 文件,使用“find / -iname policy.xml”

/usr/local/etc/ImageMagick-7/policy.xml
/usr/local/share/doc/ImageMagick-7/www/source/policy.xml
/opt/ImageMagick-7.0.11-5/config/policy.xml
/opt/ImageMagick-7.0.11-5/www/source/policy.xml

policy.xml 文件中更改的行如下所示:

<policymap>
  <policy domain="resource" rights="all" name="temporary-path" value="/home/fakhar" />
  <policy domain="resource" rights="all" name="temporary-path" value="/home/fakhar/*" />

  <policy domain="path" rights="read|write" value="/tmp"/>
  <policy domain="path" rights="read|write" value="/tmp/*"/>
  <!-- <policy domain="resource" name="memory" value="2GiB"/> -->
  <!-- <policy domain="resource" name="map" value="4GiB"/> -->
  <!-- <policy domain="resource" name="width" value="10KP"/> -->
  <!-- <policy domain="resource" name="height" value="10KP"/> -->
  <!-- <policy domain="resource" name="list-length" value="128"/> -->
  <!-- <policy domain="resource" name="area" value="100MP"/> -->
  <!-- <policy domain="resource" name="disk" value="16EiB"/> -->
  <!-- <policy domain="resource" name="file" value="768"/> -->
  <!-- <policy domain="resource" name="thread" value="4"/> -->
  <!-- <policy domain="resource" name="throttle" value="0"/> -->
  <!-- <policy domain="resource" name="time" value="3600"/> -->
  <!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
  <policy domain="module" rights="all" pattern="{PS,PDF,XPS,GIF,JPEG,PNG,WEBP}" />
  <policy domain="module" rights="all" pattern="*" />
  <policy domain="coder" rights="all" pattern="{PS,PDF,XPS,GIF,JPEG,PNG,WEBP}" />
  <policy domain="coder" rights="all" pattern="*" />
  <policy domain="system" rights="all" pattern="{PS,PDF,XPS,GIF,JPEG,PNG,WEBP}" />
  <policy domain="system" rights="all" pattern="*" />
  <!-- <policy domain="delegate" rights="none" pattern="HTTPS" /> -->
  <!-- <policy domain="path" rights="none" pattern="@*" /> -->
  <!-- <policy domain="cache" name="memory-map" value="anonymous"/> -->
  <!-- <policy domain="cache" name="synchronize" value="True"/> -->
  <!-- <policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/> -->
  <!-- <policy domain="system" name="max-memory-request" value="256MiB"/> -->
  <!-- <policy domain="system" name="shred" value="2"/> -->
  <!-- <policy domain="system" name="precision" value="6"/> -->
  <!-- <policy domain="system" name="font" value="/path/to/unicode-font.ttf"/> -->
</policymap>

这是我尝试过但没有生效的 policy.xml 文件。我想在 ImageMagick 7 中完成

【问题讨论】:

  • 编辑您的 delegates.xml 文件以将完整路径添加到 gs (ghostscript) 以读取 PDF/PS/EPS

标签: php xml ubuntu pdf imagemagick


【解决方案1】:

已解决:

尽管如此,我还是安装了 ImageMagick 版本 7,如问题所述,尽管在命令行上我从“convert --version”获得的版本显示版本为 ImageMagick 的版本 7,但 ImageMagick 函数PHP Script 中的调用仍然由存储在“/etc/ImageMagick-6/”中的“policy.xml”生效

(此外,我没有在 Ubuntu 上安装 ImageMagick-6,至少没有明确安装。Linux / Ubuntu 专家可以判断它是否带有一些内置的 ubuntu 包?或者,它可能是作为某些包的一部分安装的其他包)

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2013-06-09
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    相关资源
    最近更新 更多