当前位置: 首页>>技术教程>>正文


PHP ImagickException:未经授权

, ,

问题描述

任何想法如何解决这一问题 ?

 ImagickException: not authorized `/tmp/magick-1552lvf2nIjaqx1W' @ error/constitute.c/ReadImage/412 

我认为这是一个权限问题,因此仅出于测试目的,我将我的/tmp目录设置为777。没有更改。这让我疯狂。

命令 :

<?php


$image = new \Imagick();
$image->readImageBlob('<?xml version="1.0" encoding="UTF-8" standalone="no"?>' . $graph);

最佳方案

您的政策”MVG”可能是原因。只是评论

<policy domain="coder" rights="none" pattern="MVG" />

/etc/ImageMagick/policy.xml中,然后重新启动Apache服务器。

次佳方案

我已按照以下步骤修复了致命错误:

Uncaught ImagickException: not authorized `../../c02_001.pdf'
@ error/constitute.c/ReadImage/412 

  1. sudo vi policy.xml from etc/Imagemagick-6/

  2. 评论以下行

    <!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
    
  3. 改写下一行

    <policy domain="coder" rights="none" pattern="PDF" />
    

    <policy domain="coder" rights="read|write" pattern="PDF" />
    
  4. sudo apt-get install inkscape

  5. 使用以下命令重新启动apache sudo restart apache2

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8007.html,未经允许,请勿转载。