从PHP exec()运行Nutch命令的问题

时间:2009-11-18 05:42:21

标签: php exec nutch

My Nutch目录位于/home/myserv/nutch/nutch-1.0 /

我的php应用程序位于diretcory / home / myserv / www /

我的/ home / myserv / www / diretcory中的一个php文件运行一个exec命令来运行一个nutch命令.PHP代码如下:

  

$ output = exec(“bin / nutch all”);

当我从命令行运行命令时,我需要在“/home/myserv/nutch/nutch-1.0/”目录中

当我试图通过php exec()运行它时,我似乎可以让它执行。

我尝试过像下面这样的完整路径,但没有任何作用:(

  

     

$ output =   EXEC(“/家/ myserv / Nutch的/ Nutch的-1.0 /斌/ Nutch的   所有“);

拼命寻求帮助

2 个答案:

答案 0 :(得分:2)

/ home /下的目录通常可以很好地保护其他人,检查权限以确保绝对路径引用确实可以一直导航到nutch。

答案 1 :(得分:0)

这里有几个问题。

  1. 从脚本执行时,很难预测当前工作目录的内容,因此最好使用完整路径。

  2. 请记住,PHP脚本由Apache运行的用户运行,而不是由您运行。因此,请确保Apache用户(可能具有不同的名称,具体取决于发行版和Apache版本)具有运行Nutch脚本以及读取/写入所有Nutch数据文件的权限。

  3. 'all'不是nutch命令的有效选项,所以我不确定你要做什么。