PHP set PHPSESSID


PHP set PHPSESSID

我正试图从我从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'];

PHP的超全局变量在脚本启动时被填充数据,然后在脚本的生命周期内,它们是NOT。您的新会话ID将只显示在NEXT请求中,在新的会话cookie有机会通过客户端的浏览器进行往返之后。

在执行session_start()之前不能回显任何内容。Per the docs:

注意:要使用基于cookie的会话,必须调用session_start()在向浏览器输出任何内容之前。

http://us3.php.net//manual/en/function.session-start.php

你现在的做法是把饼干弄乱了。你可不想把饼干弄脏了。:)最终结果是客户端永远不会识别会话id cookie