這次給大家帶來PHP設定web叢集session同步步驟詳解,PHP設定web叢集session同步的注意事項有哪些,下面就是實戰案例,一起來看一下。
php的session預設是檔案儲存體:
session.save_handler = filessession.save_path = "/var/lib/php/session"
當做web叢集,需要session同步時,將session存到分布式memcache來達到共用同步是個不錯的辦法
方法:
第1種:
vi /etc/php.ini
session.save_handler = memcachesession.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
第2種:
在php檔案中使用ini_set函數進行配置,適合無法修改設定檔的虛擬機器主機
<?php....ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");....?>
重啟web伺服器
service httpd restart
查看phpinfo
測試
192.168.20.193中的login.php
<?phpsession_start();$_SESSION['login_time'] = time();$_SESSION['username'] = 'test2';$token=session_id();echo $token;//memache實現$mem = new Memcache();$mem->addServer('192.168.20.193',11211);$mem->addServer('192.168.20.194',11211);/*//memached實現$mem = new Memcached();$servers = array( array('192.168.20.193', 11211, 33), array('192.168.20.194', 11211, 67));$mem->addServers($servers);*/echo '<hr>';print_r($mem->get($token));?><p><a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳轉到194網站的個人中心</a></p>
192.168.20.194中的user.php
<?php$mem = new Memcache();$mem->addServer('192.168.20.193',11211);$mem->addServer('192.168.20.194',11211);$token=$_GET['token'];//擷取傳過來的tokenprint_r($mem->get($token));?><p><a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193網站的個人中心</a></p>
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
PHP+mongoDB資料庫操作步驟詳解
PHP閉包實戰案例流量分析