我在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…"answers"/etc/ImageMagick6.8.1/bin/convert…"-没有任何帮助。
在apache日志文件中,我发现了以下错误:
sh: convert: command not found
对于第一种情况,这个:
sh: /etc/ImageMagick-6.8.1/bin/convert: Permission denied
第二次。
我做错了什么?
- 你看到了吗http://php.net/manual/en/book.imagick.php
- 尝试从macports安装imagemagik-http://www.macports.org/ports.php?by=name&substr=imagemagik
- 检查exec的convert(也许文件有nt+x标志?所以只有chmod+x convert)
您得到的错误意味着:
- apache_setenv命令不起作用
- web用户没有运行该命令的权限
如果你做
cd /etc/ImageMagick-6.8.1/bin
chmod +x convert
然后用第二个版本再试一次,在那里你提供了完整的路径,它应该可以工作。