>  기사  >  백엔드 개발  >  php储存session到到memcache里

php储存session到到memcache里

WBOY
WBOY원래의
2016-06-13 12:50:12738검색

php存储session到到memcache里
由于要跨顶级域名,所以我想把session存到memcache里,
于是做了下面的设置:
ini_set("session.save_handler", "memcache"); 
ini_set("session.save_path", "tcp://192.168.0.77:11200");

要报错:A session is active. You cannot change the session module's ini settings。

如果再这样设的话:session.auto_start =0
就能正常把session存入memcache里。

但是,这时,每刷新一次页面,那个sessionid值就变了,所以这样就获取不到先前存的值了,

把session.auto_start 的值设为1,每次刷新页面sessionid的值会保持一样,但却存不进值。

请问如何解决这个矛盾?


------解决方案--------------------
session_start();
要在 ini_set("sessio... 之后执行

你是在脚本级改变 session 设置的,而 session.auto_start = 1 时,php 会在脚本执行前就隐式的调用 session_start()
这当然就不能符合你的需要了
------解决方案--------------------
楼上正解,能否使用加密的cookie来实现你的跨顶级域名呢,换个思路试一下。
------解决方案--------------------
参考ucenter
------解决方案--------------------
传递sessionid值,使用 session_id 函数指定sessionid值
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.