关闭浏览器时如何执行php指令?

关闭浏览器时如何执行php指令?,php,request,Php,Request,我想在关闭浏览器的时候执行指令,例如,指令是为了更新数据库而发送的请求 PHP与浏览器无关。PHP不能以任何方式直接与之交互,但可以使用JavaScript与PHP通信。关闭浏览器时执行某些操作并不总是可靠的,因为浏览器可能会意外关闭,但您可以尝试使用onunload事件侦听器收集信息,以发送HTTP请求来运行PHP脚本 window.onunload = function(){ var xmlhttp = (window.XMLHttpRequest)? new XMLHttpRequ

我想在关闭浏览器的时候执行指令,例如,指令是为了更新数据库而发送的请求

PHP与浏览器无关。PHP不能以任何方式直接与之交互,但可以使用JavaScript与PHP通信。关闭浏览器时执行某些操作并不总是可靠的,因为浏览器可能会意外关闭,但您可以尝试使用
onunload
事件侦听器收集信息,以发送HTTP请求来运行PHP脚本

window.onunload = function(){
    var xmlhttp = (window.XMLHttpRequest)? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    var url = "MyPHPScript.php";
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
}

php不知道浏览器是什么考虑到php在服务器上运行,它无法判断浏览器何时关闭。您可以尝试让JavaScript在那时发送AJAX调用。但我真的不知道这是否可行。如果没有任何客户端脚本(即javascript),你就不可能做到这一点。PHP不知道客户端浏览器发生了什么。您需要在javascript中列出浏览器关闭事件。对此的支持可能并不普遍,因此您可能正在处理一个脆弱的操作。我建议您重新考虑这方面的需求。您可以尝试使用JavaScript
onbeforeunload
事件来检测用户离开的时刻(关闭选项卡,刷新页面),以便在事件发生时发送AJAX请求。但这并不是一个可靠的解决方案,因为它并不是一个真正的跨浏览器的东西,所有的旧浏览器都支持它