antiword shell命令无法通过PHP正常工作
我用油灰把antiword打到外壳上,效果很好。然而,当我使用shell_exec调用它时,它总是给出空字符串。以下是我使用的代码: $file=IS_BT_KLVZ_MSI_001.doc $content=shell_exec/usr/local/bin/antiword/usr/local/apache/htdocs/dokuman_sorgusu/documents/$file var_dump$内容 在一个论坛上,我看到了确切的问题报告。有这个问题的人说他解决了这个问题。以下是报价: 是的,原来是地图文件的可访问性-它们 不是全世界都能读懂的, 一旦我更改了权限,它就工作得很好。谢谢大家 然而,我不知道他是如何解决这个问题的,我也不知道我是如何访问并允许这些antiword的地图文件的。来自shell。。试试这个antiword shell命令无法通过PHP正常工作,php,unix,shell,Php,Unix,Shell,我用油灰把antiword打到外壳上,效果很好。然而,当我使用shell_exec调用它时,它总是给出空字符串。以下是我使用的代码: $file=IS_BT_KLVZ_MSI_001.doc $content=shell_exec/usr/local/bin/antiword/usr/local/apache/htdocs/dokuman_sorgusu/documents/$file var_dump$内容 在一个论坛上,我看到了确切的问题报告。有这个问题的人说他解决了这个问题。以下是报价:
# chmod o+r /usr/local/apache/htdocs/dokuman_sorgusu/documents/IS_BT_KLVZ_MSI_001.doc
Web服务器通常以用户nobody的身份运行,用户nobody拥有最低权限,并且只是一个组nogroup的成员 您的地图文件很可能设置为模式0640-rw-r,并且属于您的登录用户可以访问的组,但web服务器没有
因此,使地图文件具有全球可读性允许web服务器打开它们,就像您的登录用户一样,拥有更多权限。您正在更改文档的模式,但是我必须更改/ust/local/bin/antiword使用的地图文件的模式。我无法在php代码中正确执行antiword命令,因为antiword无法通过php代码使用其附加的映射文件。然而,在命令shell中,当我调用它时,antiword工作得非常完美。