PHP ImagickException: не разрешено

Любые идеи, как это исправить?

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

Я думал, что это проблема с разрешением, поэтому просто проверить его, я установил my/tmp dir на 777. Без изменений. Это сводит меня с ума.

Команда:

<?php


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

Ответ 1

Ваша политика "MVG" может быть причиной. Просто комментарий

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

в /etc/ImageMagick/policy.xml и перезапустите сервер Apache.

Ответ 2

Я выполнил следующие шаги, чтобы исправить фатальную ошибку:

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

Ответ 3

"Strace" процесса PHP показал следующее:

sh: inkscape: команда не найдена

Я исправил это:

apt-get install inkscape

Ответ 4

Работало ли это раньше, но не работает сейчас?

sudo service php7.2-fpm restart