Ich habe eine einfache PHP-Datei convert_pdf_to_single_continuous_long_image.php, schrieb und es ist Inhalt ist:php exec, konvertieren imagemagick pdf zu jpg Rückkehr Fehler
$shell = '/usr/local/Cellar/imagemagick/7.0.5-4/bin/convert /Users/Bruce/www/pdf_files/sample.pdf -quality 500 -units pixelspercentimeter -density 500 -fill white -alpha remove -append /Users/Bruce/www/pdf_files/sample.png 2>&1';
@exec($shell,$output,$return_var);
var_dump($output);
wenn ich den Befehl unten lief, es funktioniert!
bash-3.2# php convert_pdf_to_single_continuous_long_image.php
aber wenn ich es durch Browser lief, es scheiterte und gibt
array (size=1)
0 => string 'convert: no images defined
/Users/Bruce/www/pdf_files/sample.png' @
error/convert.c/ConvertImageCommand/3254.' (length=110)
who am I--->_www
sowohl meine nginx Benutzer- und Gruppen sind "_www", ist, dass nginx keine Erlaubnis lese die pdf-Datei? aber die Erlaubnis des Verzeichnisses „/ Users/Bruce/www/PDF_Files“, die die PDF-Datei enthält, ist:
drwxrwxrwx 8 Bruce staff 272 4 3 16:43 pdf_files
Ich habe Google und einige ähnliche Fragen finden, und einige Antwort sagte, ist, weil ich didn‘ t installieren ghost, aber ich es installieren, und ich habe es Weg zum System PFAD: enter image description here
und ich auch die ghost entfernen und neu installieren sie es dann durch „Gebräu istall ghost“
nginx:
bash-3.2# ps aux | grep nginx
nobody 299 0.0 0.0 2503496 1116 ?? S 11:44下午
0:06.26 nginx: worker process
nobody 298 0.0 0.0 2503624 1740 ?? S 11:44下午
0:03.38 nginx: worker process
nobody 296 0.0 0.0 2503496 1128 ?? S 11:44下午
0:06.27 nginx: worker process
nobody 294 0.0 0.0 2503624 1896 ?? S 11:44下午
0:02.97 nginx: worker process
root 68 0.0 0.0 2503496 4860 ?? Ss 11:44下午
0:00.02 nginx: master process /usr/local/opt/nginx/bin/nginx -g daemon off;
bash-3.2# ps aux | grep php-fpm
_www 45743 0.0 0.1 2560356 9992 ?? S 1:48下午
0:00.22 /usr/local/opt/php70/sbin/php-fpm --fpm-config
/usr/local/etc/php/7.0/php-fpm.conf
_www 45720 0.0 0.1 2560356 10288 ?? S 1:47下午
0:00.49 /usr/local/opt/php70/sbin/php-fpm --fpm-config
/usr/local/etc/php/7.0/php-fpm.conf
_www 309 0.0 0.1 2560356 10540 ?? S 11:44下午
0:01.94 /usr/local/opt/php70/sbin/php-fpm --fpm-config
/usr/local/etc/php/7.0/php-fpm.conf
root 107 0.0 0.0 2517076 7356 ?? Ss 11:44下午
0:01.80 /usr/local/opt/php70/sbin/php-fpm --fpm-config
/usr/local/etc/php/7.0/php-fpm.conf
Es tut mir leid, das chinesische Wort "下午" bedeutet p.m.
Ich habe versucht, den Benutzer und die Gruppe von php-fpm zu root: wheel, aber fehlgeschlagen, es sagt mir, dass ich php-fpm nicht als root ausführen konnte.
Also ich weiß wirklich nicht, was los ist, ich denke, das Problem ist über die Erlaubnis.Hope jemand kann mir helfen. Vielen Dank!
warum Sie nicht einfach [imagemagick] (http://php.net/manual/en/book.imagick.php) php Erweiterung verwenden? – hassan
Haben Sie versucht, eine einfache PDF-Datei in den gleichen Ordner wie den PHP-Code zu konvertieren? z.B.convert sample.pdf sample.jpg Aus Interesse Version 7 von Imagemagick ist die bevorzugte Methode, magick nicht konvertieren. Wenn Sie ImageMagick mit Legacy installiert haben? Programme konvertieren sollte noch funktionieren. – Bonzo
vielen Dank für Ihre Jungs Vorschlag, ich werde es versuchen, aber ich weiß immer noch nicht, warum ich nicht mit exec –