Home  >  Article  >  Backend Development  >  php储存session到到memcache里

php储存session到到memcache里

WBOY
WBOYOriginal
2016-06-13 12:50:12738browse

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值
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn