antiword shell命令无法通过PHP正常工作

问题描述:

我在使用putty的shell中调用antiword并且它工作正常。但是,当我使用shell_exec()调用它时,它总是给出空字符串。这里是我使用的代码:antiword shell命令无法通过PHP正常工作

$ file =“IS_BT_KLVZ_MSI_001.doc”;内容为shell_exec(“/ usr/local/bin/antiword/usr/local/apache/htdocs/dokuman_sorgusu/documents/$ file”);

var_dump($ content);

在一个论坛中,我看到了确切的问题报告。有这个问题的人说他解决了这个问题。下面是引用:

“是的,这竟然是映射文件的可访问性 - 他们 不是世界可读, 一次我改变的权限,它的工作十分感谢所有。”

然而,我并不理解他是如何解决这个问题的,我怎样才能达到并允许这些反映词的映射文件。

从壳..尝试这个

# chmod o+r /usr/local/apache/htdocs/dokuman_sorgusu/documents/IS_BT_KLVZ_MSI_001.doc 
+0

您正在更改文档的mod,但是我必须更改/ ust/local/bin/antiword使用的地图文件的mod。我无法在我的php代码中正确执行antiword命令,因为antiword无法通过php代码使用其附加映射文件。但是,在我称之为命令外壳的情况下,反义词完美无缺。 – 2010-06-23 06:44:49

的Web服务器通常运行为用户“nobody”,其中有最小的权限,并且是只有一个组(“nogroup”)的成员。

您的地图文件最有可能设置为0640模式(-rw-r -----),属于您的登录用户有权访问的组,但Web服务器没有。

因此,使得地图文件具有世界可读性,Web服务器就可以打开它们,就像您的登录用户拥有更多的权限一样。