我已经写了一个简单的PHP文件convert_pdf_to_single_continuous_long_image.php,它的内容是:PHP EXEC,ImageMagick的PDF转换为JPG格式回传失误
$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);
,如果我跑到下面的命令,它的作品!
bash-3.2# php convert_pdf_to_single_continuous_long_image.php
,但如果我跑了通过浏览器,它失败,返回
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
我的两个nginx的用户和组是 “_www”,是Nginx的没有权限阅读pdf文件?但目录“/用户/布鲁斯/ WWW/pdf_files”的其中包含了PDF文件的权限是:
drwxrwxrwx 8 Bruce staff 272 4 3 16:43 pdf_files
我有谷歌和发现一些类似的问题,有的回答说,是因为我没有”牛逼安装ghostscript的,但我确实安装了它,我把它的路径系统PATH: enter image description here
而且我还删除的ghostscript,然后通过“酿造istall ghostscript的”
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
对不起,中文单词“下午”意思是下午。
我试图设置php-fpm的用户和组为root:wheel,但失败了,它告诉我我无法以root身份运行php-fpm。
所以我真的不知道发生了什么,我想问题是关于权限。希望有人能帮助我。非常感谢你!
为什么你不轻易使用[imagemagick](http://php.net/manual/en/book.imagick.php)php扩展? – hassan
您是否尝试过在与PHP代码相同的文件夹中的PDF文件进行简单转换?例如convert sample.pdf sample.jpg出于兴趣Imagemagick的第7版,首选方法是magick不转换。如果您已经将Imagemagick与旧版一起安装?程序转换应该仍然有效。 – Bonzo
谢谢你们的建议,我会尝试一下,但是我仍然不知道为什么我不能运行exec –