我在Windows 7上使用xampp来开发我的程序,但我遇到了问题。
我尝试通过exec()函数启动ImageMagick。
这是我的代码狙击。
<?php
$command = 'convert '.$tempOverlay.' '.$tempBg.' -compose Overlay -composite '.$tempImage;
exec($command);
die($command);
?>
如果我在右边的cmd中输入填充$命令( convert temp / 100000231446889-overlay.jpg temp / 100000231446889-bg.jpg -compose Overlay -composite temp / 100000231446889.jpg )文件夹,它的工作完美,但由它执行的PHP我得不到ImageMagick的输出。
我检查了它是否通过'Echo%CD%'在正确的文件夹中执行,但是它是正确的文件夹。
答案 0 :(得分:3)
当您安装imagemagick的dll版本时,可能会发生这种情况。您需要安装静态版本。为什么发生这种情况,imagemagick在通过php调用时无法加载自己的dll,而imagemagick的错误输出不会转到stdout。它去了stderr。所以你无法从php中看到它。
答案 1 :(得分:1)
一个不错的镜头是避免相对路径。使用完整路径进行测试。 它看起来真的像路径问题......
或者使用PHP抓住cd + dir增加exec命令。