繁体   English   中英

imagemagick转换不能通过PHP工作

[英]imagemagick convert does not work through php

imagemagick convert不能通过php shell_exec运行,但可以通过shell运行。

在外壳中, convert file.pdf file.png可以正常工作。 但是当我在PHP文件中将其作为shell_exec('convert file.pdf file.png'); 然后我没有输出! 我拥有执行此操作的权限,所以我认为这不是问题所在。 我已经通过getcwd()检查了我所在的目录,这也是可以的。

我知道shell_exec可以工作是因为我在代码的前面使用了它,并且效果很好。

有任何想法吗?

多亏了Crontab,我从另一个线程得到了解决方案 我从那里引用:

[i]如果您尝试使用ImageMagick将PDF转换为PNG…即使脚本的PATH也未包含Ghostscript的路径位置,即使使用ImageMagick convert的完整路径也无法使用。 在不弄乱任何用户路径的情况下,您可以添加:

 putenv("PATH=/usr/local/bin:/usr/bin:/bin"); 

或类似的设置取决于您的设置。 gs可执行文件必须位于脚本用户路径中的某个位置,否则ImageMagick将无法转换PDF或EPS文件。

尝试完整路径进行convert ,即shell_exec('/usr/bin/convert file.pdf file.png); 您可以使用which convert来查找系统上的位置。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM