无法使用 php exec 函数执行 nutch crawl 命令

not able to execute nutch crawl command using php exec function

我必须 运行 Nutch 爬行命令使用 php exec 但它显示

"0 Error: JAVA_HOME is not set"

该命令在终端 上运行良好。我在 crawl.php 中尝试了下面的代码,其中放置了 apache-nutch-1.15 目录。

exec('apache-nutch-1.15/bin/nutch inject crawl/crawldb urls',$output);

这给出了上述错误。

提前感谢您提供的任何帮助。

为了 运行 Nutch,您需要设置 JAVA_HOME 环境变量并指向正确的路径(安装 JVM 的路径)。这适用于您的终端,因为您已经设置了这个变量。您可以通过以下方式检查:

$ env | grep JAVA

当从 PHP 使用 exec 启动新进程时,未设置此环境变量,因为它不是 shell,您只是启动一个进程而没有任何"shell environment"。在调用exec.

之前可以使用putenv函数指定一些环境变量