Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
antiword shell命令无法通过PHP正常工作_Php_Unix_Shell - Fatal编程技术网

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

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$内容 在一个论坛上,我看到了确切的问题报告。有这个问题的人说他解决了这个问题。以下是报价:

我用油灰把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。。试试这个

# 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工作得非常完美。