解决memcache中使用session_start启动慢
session_start启动慢是自己的机器使用了memcache来缓存session了,这样发现用户登录之后mysql查询超级慢了,下面我来介绍一个临时的解决办法.
下面是我们的测试页面,就几句,代码如下:
<?php session_start(); echo '111';exit ?>
CPU,IO,磁盘,内存……这些没问题的,都有排查过,刚开始以为网络问题、被墙、过滤、内存……问题,最后确定都不是.应该不是硬件资源问题了.
现在用额外加段代码能解决这问题,治标不治本,还没找到是什么原因导致session_start启动慢,先自动创建一PHPSESSID,不用session_start自动分配的,代码如下:
<?php if(!isset($_COOKIE['PHPSESSID'])) { setcookie('PHPSESSID', time(), time()+60*60, '/' ); header('location:index.php'); exit; } ?>
最后的样子如下:
<?php if(!isset($_COOKIE['zenid']) && $_SERVER['HTTP_USER_AGENT']!='UDROBOT')//开源代码phprm.com { setcookie('zenid', md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60, '/' ); header('location:'.$_SERVER['REQUEST_URI']); exit; } ..... ?>
教程链接:http://www.phprm.com/develop/fs4858.html
随意转载~但请保留教程地址★