【问题标题】:Why is calling (ImageMagick) convert.exe from PHP script resulting in an unresponsive page?为什么从 PHP 脚本调用 (ImageMagick) convert.exe 会导致页面无响应?
【发布时间】:2009-06-10 10:11:16
【问题描述】:

* 现在可以通过清除 Windows 中的临时文件夹来解决此问题 *

一些信息 - Windows 2003 服务器,IIS 6 ImageMagick 6.3.3 PHP 5.2.0

我正在使用 ImageMagick 调整服务器上的图像大小,我认为这最近引起了问题。我注意到的是,当我的 PHP 脚本执行 ImageMagick 命令时,网页会冻结并且不会重新加载。事实上,我发现我必须先清除缓存和 cookie,然后才能重新加载页面并重试。我已将问题隔离到调用 imageMagick convert.exe 的代码行。我没有得到响应,使用 Mozilla Firebug 查看流量,我可以看到没有返回数据,没有关于被调用页面的信息,只是它似乎挂起。

调用 ImageMagick 的代码没有改变,之前一直有效(大约 2 年!),如下 -

   $cmd = "convert.exe \"". $uploadfile . "\" -resize \"" . res_image_width ."x" . res_image_height . ">\" \"". $uploadfile. "\" 2>&1";
   passthru($cmd);
   //system($cmd);
   //exec($cmd);

(我通常使用 passthru 但我尝试了 exec 和 system 看看我是否可以返回一些信息。)

我可以从命令行运行 ImageMagick 命令没问题,并且图像可以很好地调整大小......所以 ImageMagick 似乎工作正常,只是 PHP -> ImageMagick 通信出现了问题。我希望重新启动可以解决它。你知道还有什么可能吗?我将如何调试这个?

非常感谢

【问题讨论】:

    标签: php iis-6 imagemagick windows-server-2003 passthru


    【解决方案1】:

    您能否使用 passthru 运行其他命令?例如:passthru("dir");

    res_image_width 应该是$res_image_width 吗?确保您启用了 error_reporting(在脚本顶部包含 error_reporting(E_ALL);)。

    【讨论】:

    • 感谢有关 error_reporting 的提示...顺便说一下,我发现 windows 上的临时文件夹是 chocka 所以我删除了一些文件,它又开始工作了...我会更新问题以显示这个。
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多