在Windows的浏览器中不等待地在Php中运行命令
我在windows中遵循了许多方法,使命令在不中断浏览器的情况下运行。每当我尝试:在Windows的浏览器中不等待地在Php中运行命令,php,windows,command,command-prompt,Php,Windows,Command,Command Prompt,我在windows中遵循了许多方法,使命令在不中断浏览器的情况下运行。每当我尝试: exec("ping 8.8.8.8") 它使浏览器等待进程完成 处理完成后,它会回显输出。所以我想要的是在不中断浏览器的情况下运行类似于ping的命令,并将输出存储在变量中 在我的例子中,我希望在ping结束之前显示一个对话,然后显示输出 我试过: exec(start \B myexecutable.exe) 没有成功。也尝试过 pclose(popen(start \B myexecutable.ex
exec("ping 8.8.8.8")
它使浏览器等待进程完成
处理完成后,它会回显输出。所以我想要的是在不中断浏览器的情况下运行类似于ping的命令,并将输出存储在变量中
在我的例子中,我希望在ping结束之前显示一个对话,然后显示输出
我试过:
exec(start \B myexecutable.exe)
没有成功。也尝试过
pclose(popen(start \B myexecutable.exe))
如有任何建议,我们将不胜感激 答案可能晚了,但对我来说,这在Windows和Linux上有效:
if (isWindows()) {
pclose(popen("start /B php myfile.php -args", 'r'));
} else {
exec("php myfile.php -args");
}
您需要激活php指令
ignore_user_abort(true)
请注意:当PHP在安全模式下运行时,此函数被禁用。PHP不是这样工作的。您不能在浏览器中加载某个内容,然后从同一个PHP执行中发送其他内容。更明智的做法是在页面加载时发出AJAX请求,然后在收到响应时删除对话框并显示输出。如上所述,如果您希望页面可用并等待响应,AJAX是前进的方向。