【问题标题】:imagemagick convert.exe errorimagemagick convert.exe 错误
【发布时间】:2012-07-28 15:13:04
【问题描述】:

我将planets.png 转换为planets.jpg 的代码

<?php 
exec("convert planets.png planets.jpg");
?>

仅显示空白页不起作用。

我已经安装了 imagemagick,因为它显示在 phpinfo() View here

这里是否还有其他配置可以运行该 imagemagick 代码。

错误信息

[Sat Jul 28 20:16:11 2012] [error] [client 127.0.0.1] PHP 1. {main}() D:\\wamp\\www\\test\\into.php:0 Invalid Parameter - planets.jpg 

【问题讨论】:

  • 检查日志。不可能没有错误地工作。路径错误或目标文件夹的写入权限..或其他内容
  • 不知道怎么查看日志
  • 很可能是路径问题。您确定在图像文件所在的目录中执行代码吗?否则您必须指定路径。
  • 你似乎在使用 apache 的 windows...检查 apache 文件夹中的 error.log
  • 像 /usr/bin/convert 一样给出转换的完整路径并试一试

标签: php imagemagick


【解决方案1】:

这就是为什么有错误消息很重要。有了它,我们可以搜索答案。

您无意中运行了名为 convert.exe 的 Microsoft Windows 程序,而不是同名的 ImageMagick 程序。 Windows convert.exe 程序用于将系统启动盘从 MS-DOS“FAT”格式转换为 NTFS 格式。因此,它只能在系统的生命周期中使用一次。 Source

解决方案

你可以

【讨论】:

  • thx.. 但当您知道要查找什么时,这只是谷歌搜索。而且报错信息很重要
  • 你应该提出另一个问题.. 这个想法是有简单的问题 - 其他用户会遇到同样的问题的答案
【解决方案2】:
exec("convert planets.png planets.jpg");

这完全等同于打开命令提示符窗口并执行它。

另外,正如@Elzo 所指出的,convert.exe 是一个内置的可执行文件,因此您需要指定可执行文件的整个路径。 (我建议这样做而不是重命名任何一个可执行文件)。

exec("\"C:\\Program Files\\..\\convert.exe\" planets.png planets.jpg");

【讨论】:

    【解决方案3】:

    PHP 的 ImageMagic 扩展与 ImageMagics 的“转换”命令无关。它是单独的软件。确定您已在系统上安装了命令?尝试在 shell 中手动使用它。

    phpinfo() 中显示的是 ImageMagic 扩展。那个没有带来“转换”cli实用程序,并且必须使用与您尝试的完全不同的方式。

    【讨论】:

    • 他似乎已将其安装到路径中,如他的图像所示。
    • 我确实对 MS Windows 知之甚少。在这样的系统中,这两个软件包都作为一个软件包安装?哦,我的...
    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多