imagemagick convert不能通过php shell_exec工作,而是通过shell工作。
在shell convert file.pdf file.png
中工作正常。但是当我在一个php文件中有这个shell_exec('convert file.pdf file.png');
然后我没有输出!我有权这样做,所以我认为这不是问题;我已经通过getcwd()检查了我所在的目录,这也没关系。
我知道shell_exec有效,因为我之前在代码中使用过它并且工作正常。
有什么想法吗?
答案 0 :(得分:6)
我从另一个帖子得到了solution感谢Crontab。我引用那里:
[我]你试图使用ImageMagick将PDF转换为PNG ... 即使使用ImageMagick
convert
的完整路径也不会有效 script的PATH也不包含Ghostscript的路径位置。 在不弄乱任何用户路径的情况下,您可以添加:putenv("PATH=/usr/local/bin:/usr/bin:/bin");
或类似的东西取决于您的设置。
gs
可执行文件具有 在你的脚本用户的路径某处或ImageMagick将失败 转换PDF或EPS文件。
答案 1 :(得分:0)
尝试convert
的完整路径,即shell_exec('/usr/bin/convert file.pdf file.png);
。您可以使用which convert
查找系统中的位置。
答案 2 :(得分:0)
有几个原因导致这种情况发生,但我建议阅读此页面和用户评论: