2014-07-25 28 views
6

PHP oturum deposu olarak kullanmak için birkaç Memcached sunucusu kurdum, ancak çeşitli ayarları denemeye rağmen oturum anahtarlarını her iki sunucuda da göremiyorum. aşağıdaki gibiPHP Memcached oturumları çoğaltma sorunu

Benim php.ini geçerli:

extension=memcached.so 
memcached.sess_consistent_hash=1 
memcached.sess_number_of_replicas=1 
memcached.sess_binary=1 

Ben anahtarları yazılı olmak üzere görebilirsiniz vv kullanarak memcached çalıştırırsanız:

session.save_handler = memcached 
session.save_path = "192.168.134.38:11211,192.168.134.234:11211" 

My memcached.ini varyasyonları olduğu birinci sunucu: ikinci sunucu sadece erişim sağlanır/keser alır, ama hiçbir şey saklandığı ancak

<30 new auto-negotiating client connection 
30: Client using the binary protocol 
<30 Read binary protocol data: 
<30 0x80 0x0c 0x00 0x28 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x28 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 GET memc.sess.key.9bn8cdu9c1j7ko1tmflgr433k1 
>30 Writing bin response: 
>30 0x81 0x0c 0x00 0x28 
>30 0x04 0x00 0x00 0x00 
>30 0x00 0x00 0x03 0xc6 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
<30 Read binary protocol data: 
<30 0x80 0x01 0x00 0x28 
<30 0x08 0x00 0x00 0x00 
<30 0x00 0x00 0x03 0xcb 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 SET memc.sess.key.9bn8cdu9c1j7ko1tmflgr433k1 Value len is 923 
>30 Writing bin response: 
>30 0x81 0x01 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x05 
<30 Read binary protocol data: 
<30 0x80 0x07 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
<30 0x00 0x00 0x00 0x00 
>30 Writing bin response: 
>30 0x81 0x07 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
>30 0x00 0x00 0x00 0x00 
<30 connection closed. 

:

<30 new auto-negotiating client connection 
30: Client using the ascii protocol 
<30 quit 
<30 connection closed. 

Böylece, ilk sunucu oturumlarını sonlandırır öldürmez, başarısızlık yoktur.

Burada neler olup bittiğini bilen var mı?

Düzenleme:

Biz anahtarları dağıtıldı, ancak çoğaltılmış değil ediliyor gibi görünüyor, farklı tarayıcılarda birkaç seans yarattı.

Sunucu 1:

stats cachedump 12 100 
ITEM memc.sess.key.80iie5lhm36mddkekdk488q923 [922 b; 1406287763 s] 

Sunucu 2:

stats cachedump 12 100 
ITEM memc.sess.key.ehd1nsm6icc2qsotbkcp8i9sd7 [874 b; 1406287898 s] 
ITEM memc.sess.key.d3p0id333ggbd0004n4rcc4890 [875 b; 1406287868 s] 
ITEM memc.sess.key.7hek9e2aakgqv9sm2bcq5fbfb3 [922 b; 1406287842 s] 

cevap

7

O Ubuntu 14.04 (2.1.0) ile birlikte memcached sürümü sess_number_of_replicas seçeneği desteklemiyorsa çıkıyor. En son sürümü PECL'den yükledik ve bu problemi çözdü.