[英]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.