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

时间:2019-04-12 12:47:20

标签: php nutch

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

  

“ 0错误:未设置JAVA_HOME”

该命令在终端上正常运行。我已经在放置 apache-nutch-1.15 目录的crawl.php中尝试了以下代码。

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

这会导致上述错误。

在此先感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

要运行Nutch,您需要设置JAVA_HOME环境变量并指向正确的路径(安装JVM的路径)。这在您的终端上有效,因为您已经设置了此变量。您可以使用以下方法进行检查:

$ env | grep JAVA

使用PHP中的exec启动新进程时,未设置此环境变量,因为它不是shell,您只在没有任何“ shell环境”的情况下启动进程。您可以在调用exec之前使用putenv函数指定一些环境变量。