网站地图    收藏   

主页 > php专栏 > php应用 >

解决memcache中使用session_start启动慢 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] session_start启动慢是自己的机器使用了memcache来缓存session了,这样发现用户登录之后mysql查询超级慢了,下面我来介绍一个临时的解决办法.下面是我们的测试页面,就几句,代码如下:?phpsessio...

解决memcache中使用session_start启动慢

session_start启动慢是自己的机器使用了memcache来缓存session了,这样发现用户登录之后mysql查询超级慢了,下面我来介绍一个临时的解决办法.

下面是我们的测试页面,就几句,代码如下:

  1. <?php 
  2. session_start(); 
  3. echo '111';exit 
  4. ?> 

CPU,IO,磁盘,内存……这些没问题的,都有排查过,刚开始以为网络问题、被墙、过滤、内存……问题,最后确定都不是.应该不是硬件资源问题了.

现在用额外加段代码能解决这问题,治标不治本,还没找到是什么原因导致session_start启动慢,先自动创建一PHPSESSID,不用session_start自动分配的,代码如下:

  1. if(!isset($_COOKIE['PHPSESSID'])) 
  2.         setcookie('PHPSESSID', time(), time()+60*60, '/' ); 
  3.         header('location:index.php'); 
  4.         exit

最后的样子如下:

  1. <?php
  2. if(!isset($_COOKIE['zenid']) && $_SERVER['HTTP_USER_AGENT']!='UDROBOT')//开源代码phpfensi.com 
  3.         setcookie('zenid', md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60, '/' ); 
  4.         header('location:'.$_SERVER['REQUEST_URI']); 
  5.         exit
  6. }
  7. ..... 
  8. ?> 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论