測試的前題:
在WEB負載均衡狀態下,當用戶在WEB1服務器登陸,下次在進行任意操作時,可能會在WEB2,WEB3...中進行請求的處理,因此,在非WEB1的服務器中是不會有SESSION的,到此,需要用到SESSION共享存儲來解決該問題。
將session以memcache擴展庫進行存儲數據
<?php //首先用memcache的擴展session存儲器進行設置 ini_set('session.save_handler', 'memcache'); //session的處理方式爲:memcache ini_set('session.save_path', 'tcp://127.0.0.1:11211');//session的保存位置爲memcache服務器的地址+端口 session_start(); $_SESSION['address'] = 'shandong_printce';
2.測試存儲的session是否存在,用於在不同的WEB服務器中檢查用戶是否登陸
<?php //在memcached中讀取session的數據,是以session_id()作爲key的 $session_id = session_id(); $memcache = new memcache; $memcache->connect('127.0.0.1',11211); //本地測試,這裏需要填寫 memcached的服務器所在ip與端口 if($memcache->get($session_id)){ echo 'LOGIN, SUCCESS...'; }
以上爲個人測試並做記錄,如有不正確的地方,歡迎廣大朋友留言指正,相互學習。