【发布时间】:2014-10-23 03:18:10
【问题描述】:
我遇到了一个非常奇怪的问题,对此我没有任何解释。
在使用 XAMPP 设置 OS X Yosemite 和我的本地开发环境后,我通过 MacPorts 安装了 ImageMagick。一切都很好,它在命令行上运行得非常好。
但是,当通过 Apache 执行并通过 PHP 调用时,我没有任何输出。
我进行了广泛的研究并找到了多种方法:
- 在 Apache 中设置路径环境变量(我试过了)
- 使用可执行文件的绝对路径(我这样做)
- 检查
exec()是否被列为禁用功能(它不是) - 检查
convert是否甚至可以调用,就像在可执行文件中一样(它是)
我什至将convert 可执行文件复制到本地项目根目录并尝试exec('./convert'); 但无济于事。我总是从那个电话中完全没有收到任何输出。甚至没有错误消息。不用说,当我通过终端运行相同的东西时,它工作正常。
我也试过了:
- 致电
exec('ls');看看是否有任何问题(是的,它工作正常) - 调用
exec('which convert');,我根本没有得到任何结果 - 调用没有返回任何内容 - 致电
exec('which ls');仔细检查问题是否出在which- 但它工作正常并给我/bin/ls作为回复。 - 向可执行文件提供
chmod 0777- 无济于事
无论我尝试或做什么,convert 对 PHP/Apache 来说都是完全无法触及的。
谁能告诉我这是为什么以及如何补救?
【问题讨论】:
标签: php xampp imagemagick executable osx-yosemite