我正在尝试从我从CURL POST收到的值设置PHPSESSID。但是,当我将其分配给session_id()时,它没有设置。第一个echo语句是来自curl post的正确PHPSESSID。但是,第二个echo返回空。有什么想法吗?
PHP
//set current session id
session_id($sessID[1]);
echo "current SessID: " . session_id();
//start session
session_start();
echo "PHPSESSID: " . $_COOKIE['PHPSESSID'];
答案 0 :(得分:4)
当脚本启动时,PHP的超级全局填充数据,然后PHP在脚本的生命周期内再次触摸 NOT 。在新会话cookie有机会通过客户端浏览器进行往返之后,您的新会话ID将仅显示在NEXT请求中。
答案 1 :(得分:0)
在执行session_start()
之前,您无法回显任何。根据文档:
注意:要使用基于cookie的会话,必须调用session_start() 在向浏览器输出任何内容之前。
http://us3.php.net//manual/en/function.session-start.php
你现在拥有它的方式是弄乱cookie。你不想弄乱饼干。 :)最终结果是客户端永远不会识别会话ID cookie。