【问题标题】:php exec() not working with correct commandphp exec() 不能使用正确的命令
【发布时间】:2011-11-11 18:45:41
【问题描述】:

我在 Windows 7 上使用 xampp 来开发我的程序,但我遇到了问题。

我尝试通过 exec() 函数启动 ImageMagick。

这是我的代码。

<?php
    $command = 'convert '.$tempOverlay.' '.$tempBg.' -compose Overlay -composite '.$tempImage;
    exec($command);
    die($command);
?>

如果我在右侧的 cmd 中输入填充的 $command (convert temp/100000231446889-overlay.jpg temp/100000231446889-bg.jpg -compose Overlay -composite temp/100000231446889.jpg)文件夹它的工作完美,但它由 php 执行,我没有得到 ImageMagick 的输出。

我通过'Echo %CD%'检查了它是否在正确的文件夹中执行,但它是正确的文件夹。

【问题讨论】:

  • 你为什么不用php-imagick? php.net/manual/en/book.imagick.php
  • 我找不到“-compse Overlay”命令的功能
  • 你得到了什么 $output?: exec($command, $output); print_r($output);
  • Array ( )... 没有输出

标签: php imagemagick exec xampp


【解决方案1】:

当您安装 imagemagick 的 dll 版本时,可能会发生这种情况。您需要安装静态版本。不管发生这种情况,当通过 php 调用时,imagemagick 无法加载自己的 dll,并且 imagemagick 的错误输出不会发送到标准输出。它进入标准错误。所以你不能从 php 中看到。

【讨论】:

  • 谢谢你,你救了我的命。
【解决方案2】:

一个不错的镜头是避免相对路径。使用完整路径进行测试。 看起来真的是路径问题……

或者用 PHP 捕获的 cd + dir 增加 exec 命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多