2

我在 OSX 下有一个 apache Web 服务器和一个安装和配置的 ImageMagick。如果我尝试从终端执行一些 ImageMagick 命令,它可以正常工作,但如果我尝试使用 PHP 中的 exec 或 shell_exec 执行此操作,它就不起作用。

这就是我所做的:我设置环境变量:

apache_setenv("PATH", "/etc/ImageMagick-6.8.1/bin:".apache_getenv("PATH"));

并尝试执行一些命令:

exec('convert -version', $imgkOut);

$imgkOut 数组始终为空。

我尝试设置两个路径:'convert ...'和'/etc/ImageMagick-6.8.1/bin/convert ...' - 没有任何帮助。

在 apache 日志文件中,我发现了这些错误:

sh: convert: command not found

对于第一种情况,这是:

sh: /etc/ImageMagick-6.8.1/bin/convert: Permission denied

第二个。

我做错了什么?

4

2 回答 2

1
  1. 你看到http://php.net/manual/en/book.imagick.php了吗?
  2. 尝试从 macports 安装 imagemagick - http://www.macports.org/ports.php?by=name&substr=imagemagick
  3. 检查 exec 的转换(也许文件没有 +x 标志?所以只需 chmod +x 转换)
于 2013-02-20T09:55:59.600 回答
0

您得到的错误意味着:

  1. apache_setenv 命令不起作用。
  2. Web 用户无权运行该命令。

如果你这样做

    cd /etc/ImageMagick-6.8.1/bin
    chmod +x convert

并再次尝试使用提供完整路径的第二个版本,它应该可以工作。

于 2013-02-20T10:06:45.393 回答