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')//開源代碼Vevb.com
- {
- setcookie('zenid', md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60, '/' );
- header('location:'.$_SERVER['REQUEST_URI']);
- exit;
- }
- .....
- ?>
新聞熱點
疑難解答