imagemagick转换无法通过PHP工作

时间:2012-01-20 14:14:33

标签: php imagemagick

imagemagick convert不能通过php shell_exec工作,而是通过shell工作。

在shell convert file.pdf file.png中工作正常。但是当我在一个php文件中有这个shell_exec('convert file.pdf file.png');然后我没有输出!我有权这样做,所以我认为这不是问题;我已经通过getcwd()检查了我所在的目录,这也没关系。

我知道shell_exec有效,因为我之前在代码中使用过它并且工作正常。

有什么想法吗?

3 个答案:

答案 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)

有几个原因导致这种情况发生,但我建议阅读此页面和用户评论:

http://php.net/manual/en/function.shell-exec.php