>  기사  >  백엔드 개발  >  웹 클러스터 세션 동기화를 설정하기 위해 PHP에서 분산 Memcache를 구현하는 방법에 대한 자세한 설명

웹 클러스터 세션 동기화를 설정하기 위해 PHP에서 분산 Memcache를 구현하는 방법에 대한 자세한 설명

jacklove
jacklove원래의
2018-06-27 17:58:501362검색

이 글에서는 웹 클러스터 세션 동기화를 설정하기 위해 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[&#39;login_time&#39;] = time();
$_SESSION[&#39;username&#39;] = &#39;test2&#39;;
$token=session_id();
echo $token;
//memache实现
$mem = new Memcache();
$mem->addServer(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
/*
//memached实现
$mem = new Memcached();
$servers = array(
 array(&#39;192.168.20.193&#39;, 11211, 33),
 array(&#39;192.168.20.194&#39;, 11211, 67)
);
$mem->addServers($servers);
*/
echo &#39;<hr>&#39;;
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(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
$token=$_GET[&#39;token&#39;];//获取传过来的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>
의 user.php

관심을 가질 수 있는 기사:

PHP에서 구현한 대용량 파일 잘라내기 및 병합 기능에 대한 설명 예

PHP에서 구현한 간단한 단어 그룹화 알고리즘에 대한 설명 예

MongoDB 데이터베이스 작업 PHP 클래스로 구현 전체 예제 설명

위 내용은 웹 클러스터 세션 동기화를 설정하기 위해 PHP에서 분산 Memcache를 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.