我已经使用Macports在我的Mac(OS X El Capitan)上安装了反词:
200
我现在想在网络服务器上的PHP程序中使用它,以便能够转换Word文档文件以便在我的Web应用程序中使用。所以我试过了:
sudo port install antiword
这种方法在我的Linux(Centos 6)服务器以及Linux Ubuntu客户端上运行良好。但是,它在Mac上不起作用。
我认为问题在于Macports已经安装了antiword以供我的用户使用,而Apache则在另一个用户“_www”下运行。
有谁知道如何将Macports和/或Apache击败提交,以便shell_exec()(或exec()或system() - 它们都表现相同)可以找到反词并使用它?
答案 0 :(得分:0)
(感谢克里斯,他的评论指出了我正确的方向)。
问题是反义词必须在Apache执行shell命令时使用的路径中。您可以在phpinfo Apache环境部分找到它。我看起来像:
(*inst.ptr)();
inst.ptr();
以下链接说明了如何设置Ubuntu的路径:https://serverfault.com/questions/151328/setting-apache2-path-environment-variable
然而,这对OS X El Capitan来说并不适用。我尝试使用envvars文件并在.htaccess或httpd.conf中添加了一个SetEnv指令 - 这些都不起作用。
最后,我放弃了尝试将/ opt / local / bin添加到路径中,只需将antiword复制到/ usr / bin中,这使得一切正常。不理想,因为它不会获得升级,但总比没有好。