我一直试图通过php表单执行java应用程序..所以提交按钮触发执行命令:
exec("java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");
第一个路径确定jar文件的位置,第二个路径用作参数。
问题是脚本需要花费太长时间才能处理,我想绕过等待,无论如何都要这样做(就像火灾和遗忘)?该脚本将结果写入文件,如果文件存在,我可以每隔5分钟检查一次,但是等待该过程完成后不方便...
有什么建议吗?
提前谢谢
答案 0 :(得分:1)
我认为这是同样的问题
Asynchronous shell exec in PHP
正如评论所述,上述内容仅适用于* nix环境,但我发现与Windows类似:
http://www.somacon.com/p395.php
尽管如此,考虑其他解决方案可能会更好,例如您可以将工作发送到的单独流程未连接到网络服务器。
Web服务器有时会回收进程并且后台进程并不总是孤立的,因为我已经阅读过了,所以除非它完全分开,否则你的外部进程可能被杀死。
答案 1 :(得分:0)
我想在此处添加解决方案:
$shell = new COM("WScript.Shell");
$shell->run($command, 0, false);
像魔术一样工作:) thx很多ircmaxell
答案 2 :(得分:0)
由于您在Windows上并且需要启动java程序,因此可以使用javaw.exe而不是java.exe。
Windows上的javaw,旨在启动一个jvm而不打开一个cmd窗口。 也许它可以帮助答案 3 :(得分:-1)
在MSWindows上尝试:
exec("start java -jar c:\edu.uniroma3.jar c:\parameter2BPassed");