我必须使用php exec运行Nutch爬行命令,但显示
“ 0错误:未设置JAVA_HOME”
该命令在终端上正常运行。我已经在放置 apache-nutch-1.15 目录的crawl.php中尝试了以下代码。
exec('apache-nutch-1.15/bin/nutch inject crawl/crawldb urls',$output);
这会导致上述错误。
在此先感谢您提供的任何帮助。
答案 0 :(得分:0)
要运行Nutch,您需要设置JAVA_HOME
环境变量并指向正确的路径(安装JVM的路径)。这在您的终端上有效,因为您已经设置了此变量。您可以使用以下方法进行检查:
$ env | grep JAVA
使用PHP中的exec
启动新进程时,未设置此环境变量,因为它不是shell,您只在没有任何“ shell环境”的情况下启动进程。您可以在调用exec
之前使用putenv
函数指定一些环境变量。