Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows的浏览器中不等待地在Php中运行命令_Php_Windows_Command_Command Prompt - Fatal编程技术网

在Windows的浏览器中不等待地在Php中运行命令

在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

我在windows中遵循了许多方法,使命令在不中断浏览器的情况下运行。每当我尝试:

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是前进的方向。