PHP Session优化源码

东坡下载 2013年11月06日 21:59:28

      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时间!