PHP的SESSION同一客户端请求时服务器SESSION不结束,下一请求无法进行!
例如下代码:
client:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
<script type="text/javascript" src=\'#\'" /jquery-1.7.2.min.js"></script>
<style>
#content {
width: 100%;
height: 100%;
text-align:center;
}
</style>
</head>
<body style="margin:0; padding:0;">
<script type="text/javascript">
$(document).ready(function() {
for(var i = 1; i <= 5; i++) {
$.ajax({
url:"rest.php?call=" + i,
success: function(data){
var id = i;
$("body").append("<p>Call complete " + data + "<p>");
}
});
}
});
</script>
</body>
<html>
server:
<?php
session_start();
sleep(2);
echo '{json:"repsonse ' . $_GET["call"] . '"}';
?>
以上客户端加载需要10S多时间。
SESSION使用完可以用session_write_close();关闭,下一请求可以马上执行!
例:
<?php
session_start();
session_write_close();
sleep(2);
echo '{json:"repsonse ' . $_GET["call"] . '"}';
?>
以上代码客户端加载时间从10s减少到2s时间!