Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ImageMagick版本:7无效“;policy.xml“;(上下文“pdf读入/temp文件夹”,平台Ubuntu 18.4)_Php_Xml_Ubuntu_Pdf_Imagemagick - Fatal编程技术网

Php ImageMagick版本:7无效“;policy.xml“;(上下文“pdf读入/temp文件夹”,平台Ubuntu 18.4)

Php ImageMagick版本:7无效“;policy.xml“;(上下文“pdf读入/temp文件夹”,平台Ubuntu 18.4),php,xml,ubuntu,pdf,imagemagick,Php,Xml,Ubuntu,Pdf,Imagemagick,这与ImageMagick 6中的问题不同。 我正在使用ImageMagick 7.0.11-5,无法阅读pdf。为了实现这一点,我对系统中出现的所有“policy.xml”进行了更改,然后重新启动了Apache,但我仍然遇到同样的“ImageMagick unauthorized/tmp/xyz abc.pdf”问题 我甚至授予了“/tmp”文件夹的完全权限,甚至将“policy.xml”中的文件夹路径从/tmp更改为“/home/my_user”,但没有任何帮助 我使用“find/-inam

这与ImageMagick 6中的问题不同。 我正在使用ImageMagick 7.0.11-5,无法阅读pdf。为了实现这一点,我对系统中出现的所有“policy.xml”进行了更改,然后重新启动了Apache,但我仍然遇到同样的“ImageMagick unauthorized/tmp/xyz abc.pdf”问题

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

我使用“find/-iname policy.xml”找到了以下四(04)个“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中执行此操作已解决:

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


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

编辑您的delegates.xml文件,添加到
gs
(ghostscript)的完整路径,以便阅读PDF/PS/EPS
<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>