NO ..,
PHP脚本不会终止其执行.
是的..它将完成它的执行.
启动php脚本后,它将完成执行,然后停止.
因为,php在服务器端运行,它不能被客户端简单事件中断,如浏览器窗口关闭.
但是客户端无法看到输出.
对于前:
试试此代码:
//File Name: xyz.php
$fp=fopen("output.txt","w");
$count=0;
for($count=0;1;$count++){
//Infinite loop
fwrite($fp,"".PHP_EOL."".$count."");
}
fclose($fp);
?>
现在测试这个文件,即使在关闭浏览器窗口后,它仍将继续在该输出文件(output.txt)中打印.
不要忘记从命令提示符或任务管理器关闭该php脚本,否则它将填满你的硬盘(我只运行了10秒,其中5秒浏览器已关闭,消耗160 MB!).
这是结果分析:
Initially File size was : 0Kb,
After five secs: 76 MB (Browser was on till this point).
After seven secs: 125 Mb (Assuming delay in browser close, Now browser is totally off),
Still after 10 secs: 160 Mb (It is proof that php is running in background :-))
现在我关闭了httpd,现在大小不变.
如果你想看看如何发生这种情况,只需在fwrite()之前添加usleep
如:
usleep(1*1000*1000); // Sleep for 1 sec.
fwrite($fp,"".PHP_EOL."".$count."");
现在你可以在output.txt文件中看到它发生了.即使你关闭浏览器后.但是由于延迟因素,上面给出的结果分析现在不适用(如果仅考虑文件因子的大小).