如何使两台ECS通过memcache共享session
Jun 06, 2016 pm 08:14 PM
大家好,我现在有两台阿里云ECS,都在北京区,还有一个阿里云的云数据库Memcache版。
我现在想实现共享同一域名下的session,这样我通过负载均衡随机分配到这两台服务器上,只要登录其中一台服务器即可共享登录。
然后,我是通过修改php.ini来实现把session存储到memcache上的,这些都ok了,但是现在发现一个问题是两台服务器的session并不是同步的,这是为什么呢?
服务器A:info.php
<?php session_start(); $sn = session_id(); echo $sn."\n"; echo '<pre class="brush:php;toolbar:false">'; var_dump($_SESSION); echo '
服务器B:info.php
<?php session_start(); $sn = session_id(); echo $sn."\n"; echo '<pre class="brush:php;toolbar:false">'; $_SESSION['1'] = 'abc'; var_dump($_SESSION); echo '
打印结果是:服务器A
<code>jck9tkdggk9drukfnu571hbjj5 array(0) { } The A</code>
服务器B
<code>jck9tkdggk9drukfnu571hbjj5 array(1) { [1]=> string(3) "abc" } The B</code>
这是为什么呢?通过memcache的命令行得知,php已经将session存入memcache了。
求解答,谢谢。
回复内容:
大家好,我现在有两台阿里云ECS,都在北京区,还有一个阿里云的云数据库Memcache版。
我现在想实现共享同一域名下的session,这样我通过负载均衡随机分配到这两台服务器上,只要登录其中一台服务器即可共享登录。
然后,我是通过修改php.ini来实现把session存储到memcache上的,这些都ok了,但是现在发现一个问题是两台服务器的session并不是同步的,这是为什么呢?
服务器A:info.php
<?php session_start(); $sn = session_id(); echo $sn."\n"; echo '<pre class="brush:php;toolbar:false">'; var_dump($_SESSION); echo '
服务器B:info.php
<?php session_start(); $sn = session_id(); echo $sn."\n"; echo '<pre class="brush:php;toolbar:false">'; $_SESSION['1'] = 'abc'; var_dump($_SESSION); echo '
打印结果是:服务器A
<code>jck9tkdggk9drukfnu571hbjj5 array(0) { } The A</code>
服务器B
<code>jck9tkdggk9drukfnu571hbjj5 array(1) { [1]=> string(3) "abc" } The B</code>
这是为什么呢?通过memcache的命令行得知,php已经将session存入memcache了。
求解答,谢谢。
session 跟 cookie 的关系要理清楚
前提是基于同一个域,获取相同的cookie,继而获取相同的sessionid,获取相同的session内容,共享session
你的例子中,打印的服务器A的结果中的id ,跟服务器B的结果中的id, jck9tkdggk9drukfnu571hbjj5
,是相同的? 还是你修饰过例子 ?

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Entrée de la version Web Deepseek Entrée du site officiel Deepseek

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Comment analysez-vous et traitez-vous HTML / XML dans PHP?

Programme PHP pour compter les voyelles dans une chaîne

Installation officielle du site officiel de Bitget (Guide du débutant 2025)

Le package d'installation OUYI OKX est directement inclus
