2

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

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

仅显示空白页不起作用。

我已经安装了 imagemagick,因为它在 phpinfo() 中显示在这里查看

这里是否还有其他配置可以运行该 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 
4

3 回答 3

8

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

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

解决方案

你可以

于 2012-07-28T15:24:46.453 回答
3
exec("convert planets.png planets.jpg");

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

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

exec("\"C:\\Program Files\\..\\convert.exe\" planets.png planets.jpg");
于 2012-07-28T15:25:02.347 回答
-3

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

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

于 2012-07-28T15:18:03.567 回答