session_start啟動慢是自己的機器使用了memcache來緩存session了,這樣發現用戶登錄之後mysql查詢超級慢了,下面我來介紹一個臨時的解決辦法。
下面是我們的測試頁面,就幾句
<?php
session_start();
echo '111';exit
?>
CPU,IO,磁盤,內存……這些沒問題的,都有排查過,剛開始以為網絡問題、被牆、過濾、內存……問題,最後確定都不是.應該不是硬件資源問題了.
現在用額外加段代碼能解決這問題,治標不治本,還沒找到是什麼原因導致session_start啟動慢.
先自動創建一PHPSESSID,不用session_start自動分配的.
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')
{
setcookie('zenid', md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60, '/' );
header('location:'.$_SERVER['REQUEST_URI']);
exit;
}
.....
?>