[英]PHP Session + Memcached => Mysterious Data Format
我已经将memcached用作session.save_handler已有一段时间了,并且一切正常。
然后我尝试:
echo $mycache->get('memc.sess.key.o8el2bgk4k9s1mr723j1blrgs3');
来获取一个会话,并且输出非常奇怪(带有108个字符的字符串):
MaiiA6iX7qlS0IZjTdr2I3w4axNTp7H2IYcH-SAficGw5ZKIcMQ0BE2kFnsm4xHMk3KAJo9kOwmRTSBOPdPAC-m5L9CkWnYPONqujt5m0c8.
此字符串的格式是什么? 对于您的信息,这是phpinfo()中的memcached配置:
因此应该采用以下格式:
user_name|s:5:"guest";user_id|s:1:"3";user_level|s:2:"-1";
而不是奇怪的字符串。
注意:我正在使用memcached + php-memcached。 不是内存缓存,也不是php-memcache。 谢谢。
我找到了罪魁祸首! suhosin.session.encrypt。
ps我直接从memcached获取数据,因为我正在测试WebSocket,因此必须手动使用JS传递会话ID。 然后我需要自己获取该ID的会话变量:D
PHP会话使用各自的功能进行编码/解码-请参见session_decode 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.