PHP ImageMagick转换在OSX下不起作用

时间:2013-02-20 09:47:31

标签: php imagemagick shell-exec

我在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

第二个。

我做错了什么?

2 个答案:

答案 0 :(得分: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是否转换(可能是文件hasnt + x flag?所以只是chmod + x convert)

答案 1 :(得分:0)

您所犯的错误意味着:

  1. apache_setenv命令无效。
  2. Web用户无权运行该命令。
  3. 如果你这样做

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

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