我使用 memcached 作为 session.save_handler 已经有一段时间了,一切都 100% 正常。
然后我尝试:
echo $mycache->get('memc.sess.key.o8el2bgk4k9s1mr723j1blrgs3');
获取其中一个会话并且输出很奇怪(一个包含 108 个字符的字符串):
MaiiA6iX7qlS0IZjTdr2I3w4axNTp7H2IYcH-SAficGw5ZKIcMQ0BE2kFnsm4xHMk3KAJo9kOwmRTSBOPdPAC-m5L9CkWnYPONqujt5m0c8.
这个字符串是什么格式的?为了您的信息,这是 phpinfo() 中的 memcached 配置:
- 指令 本地价值 主价值
- memcached.compression_factor 1.3 1.3
- memcached.compression_threshold 2000 2000
- memcached.compression_type fastlz fastlz
- memcached.serializer php php
- memcached.sess_binary 0 0
- memcached.sess_lock_wait 150000 150000
- memcached.sess_locking 1 1
- memcached.sess_prefix memc.sess.key。memc.sess.key。
所以它应该是这种格式:
user_name|s:5:"guest";user_id|s:1:"3";user_level|s:2:"-1";
而不是奇怪的字符串。
注意:我使用的是 memcached + php-memcached。不是 memcache,也不是 php-memcache。谢谢。