Any ideas how to fix this ?
ImagickException: not authorized `/tmp/magick-1552lvf2nIjaqx1W' @ error/constitute.c/ReadImage/412
I thought it was a permission issue so just to test it out i set my /tmp dir to 777. No change. Its driving me crazy.
The command :
<?php
$image = new \Imagick();
$image->readImageBlob('<?xml version="1.0" encoding="UTF-8" standalone="no"?>' . $graph);
I have followed the below Steps to fix the Fatal error:
Uncaught ImagickException: not authorized `../../c02_001.pdf'
@ error/constitute.c/ReadImage/412
sudo vi policy.xml from etc/Imagemagick-6/
comment the following line
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
Rewrite the following line
<policy domain="coder" rights="none" pattern="PDF" />
to
<policy domain="coder" rights="read|write" pattern="PDF" />
sudo apt-get install inkscape
sudo restart apache2
Your policy "MVG" could be the reason. Just comment
<policy domain="coder" rights="none" pattern="MVG" />
in /etc/ImageMagick/policy.xml
and restart Apache server.
i hope this solution will help you
I'm facing the same issue and I'm on the live server i'm trying to follow above Mikel Annjuk and hakre
answer so i cannot the change the file /etc/ImageMagick/policy.xml so i contact to the server provider to edit file and send this url to follow step but there is answering me
" I am still working on this. The solution given in above link requires root access to the server which is not possible in a shared server. But imagick is related to php. So let me try changing php version and see if that helps"
when i tired to resolve this on that time i have idea may be the issue of the file path where I'm saving the file so I change to base path to FCPATH
and the matter is solved.
i'm using Codeigniter base_url() to php FCPATH this is the point to solve this issue
but on svg converter show "no decode delegate" issue
add the following lines in the start of file or code
like this
$usmap = file_get_contents(base_url('convert/plus.svg'));
$find_string = '<svg';
$position = strpos($usmap, $find_string);
$svg_file_new ='<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.substr($usmap, $position).'</svg>';
file_put_contents(FCPATH.'convert/plus.svg', $svg_file_new);
$usmap = base_url('convert/plus.svg');
$im = new Imagick($usmap);
$im->setImageFormat("jpg");
$im->writeImage(FCPATH .'convert/plus.jpg');
$im->clear();
$im->destroy();
above code first, get the SVG code from the file and add XML version code then put it into the file and then convert SVG to any type of image like jpg
sorry for my English
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With