启动javaw.exe时,PHP exec()会挂起

时间:2014-03-06 19:26:45

标签: java php solr exec javaw

我有一个php脚本,我想用它来启动我的solr jetty服务器。像这样:

chdir("C:/solr-4.4.0/solr-4.4.0/example/");
echo getcwd();
exec("javaw -jar start.jar > output.log 2>&1 &");
echo 'done';

问题是如果javaw.exe尚未运行,则php脚本会挂起并等待它完成。我认为重定向输出并将&添加到最后将会处理这个问题,但它没有....

问题:

有没有办法启动这个过程(javaw.exe),让它在后台运行并继续执行我的PHP脚本的其余部分?

(WINDOWS 7 PRO 64 BIT)

1 个答案:

答案 0 :(得分:0)

for windows:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("javaw -jar start.jar > output.log", 0, false);