异步执行的方法有很多种在这里我们整理了一些常用的函数来实现异步执行了,同时也包括大家熟知ajax了,当然本文章重点不在ajax而相关的php函数了,下面一起来看看.
PHP异步执行的常用方式:
1.AJAX
1.最简单的办法,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本,这种方法最简单,也最快,服务器端不用做任何的调用.
但是缺点是,一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了,而使用img标签的话,这种方式不能称为严格意义上的异步执行,用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load,当然,还可以使用其他的类似原理的方法,比如script标签等等,代码如下:$.ajax({
url: 'stat.php',
type: 'POST',
data:{Name:"keyun"},
dataType: 'html',
timeout: 1000,
error: function(){alert('Error loading PHP document');},
success: function(result){alert(result);}
});
2.popen()函数
resource popen ( string command, string mode );
打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生,打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生,所以可以通过调用它,但忽略它的输出.
这个方法避免了第一个方法的缺点,并且也很快,但是问题是,这种方法不能通过HTTP协议请求另外的一个WebSer