이 글에서는 웹 클러스터 세션 동기화를 설정하기 위해 PHP가 분산 Memcache를 구현하는 방법을 주로 소개합니다. 웹 클러스터 세션 동기화를 달성하기 위해 PHP 설정 및 사용에 대한 주의 사항을 예제 형식으로 분석합니다. 필요하면 참조하세요
이 문서의 예에서는 PHP가 분산 Memcache를 구현하여 웹 클러스터 세션 동기화를 설정하는 방법을 설명합니다.
php의 세션은 기본적으로 파일 저장으로 설정됩니다.
session.save_handler = files session.save_path = "/var/lib/php/session"
웹 클러스터에 세션 동기화가 필요할 때 공유 동기화를 달성하기 위해 분산 Memcache에 세션을 저장하는 것이 좋은 방법입니다
방법:
유형 1:
vi /etc/php.ini
session.save_handler = memcache session.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"); .... ?>
웹 서버를 다시 시작하세요
service httpd restart
phpinfo
Test
192.168.20.193
<?php session_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에서 login.php를 확인하세요. 168.20.194
<?php $mem = new Memcache(); $mem->addServer('192.168.20.193',11211); $mem->addServer('192.168.20.194',11211); $token=$_GET['token'];//获取传过来的token print_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 클래스로 구현 전체 예제 설명
위 내용은 웹 클러스터 세션 동기화를 설정하기 위해 PHP에서 분산 Memcache를 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!