![](/img/trans.png)
[英]imagemagick convert does not work through php exec() but works through command line
[英]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
来查找系统上的位置。
发生这种情况的原因有多种,但我建议阅读此页面和用户评论:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.