1

我正在做一些 ImageMagick 的东西。这是我的命令:

/usr/bin/convert /home/setsail/public_html/microsite/images
/tmp/fe0e3b88601d254befc115ca6a50365b.png -alpha set -channel alpha -background none 
-vignette 0x3 -resize 66x89 /home/setsail/public_html/microsite/images/oval_thumb
/77bda03b6358b89efbe747ae414bd75f.png

此代码羽化并调整图像大小。它在 shell 和 php 代码中的 localhost(我在 localhost 上使用 xampp)上运行良好,并且在 shell 中我的专用服务器上运行良好。

但是,它在带有 php 代码的专用服务器上根本不起作用。这是我的代码:

$cmd = "convert ".realpath($temp1)." -alpha set -channel alpha -background none    -vignette 0x3 resize ".$width."x".$height." ".$dest_img;
exec($cmd);

ImageMagick 已正确安装在服务器上并处于活动状态,并且我在 phpinfo() 中看到它有什么想法为什么会发生,我该怎么办?

4

1 回答 1

4

该命令convert可能不在$PATHWeb 服务器正在使用的环境变量中。使用完整路径convert

// Substitute the full path for /usr/bin
$cmd = "/usr/bin/convert ".realpath($temp1)." -alpha set -channel alpha -background none    -vignette 0x3 resize ".$width."x".$height." ".$dest_img;

$results = array();
$return_code = NULL;
exec($cmd, $results, $return_code);

// Check the output of the command for error:
var_dump($results);
var_dump($return_code);

要找到convert的位置,请从您服务器上的 shell 执行

$ which convert
于 2012-04-17T17:27:30.597 回答