php不更新会话变量?
问题描述:
我一直在使用twitter oauth和api,并且我有一个奇怪的问题。php不更新会话变量?
我在做什么是生成请求链接,将请求令牌和秘密保存在会话变量中,然后当用户从twitter返回时,试图检索这些密钥以将它们存储在数据库中。
当我执行以下命令:
session_start();
$to = new TwitterOAuth($consumerkey, $consumersecret);
$tok = $to->getRequestToken();
$request_link = $to->getAuthorizeURL($tok);
$_SESSION["oauth_request_token"] = $token = $tok['oauth_token'];
$_SESSION["oauth_request_token_secret"] = $tok['oauth_token_secret'];
print_r($_SESSION)."<br>";
它显示了会话数组包含我的价值观,他们是正确的,但是当它从Twitter回来,print_r'ing会话阵列产生什么,同样为回声。它就像它不存在或某物。
我在第一行的第一行开始这两个页面上的会话。
第二页上写着:
session_start();
echo $_SESSION["oauth_request_token"];
echo $_SESSION["oauth_request_token_secret"];
奇怪的是,如果我手动声明的第二页上的会话变量,它工作正常。我错过了什么吗?
答
结果会话特定于该地址。
我是从
http://website.com
送我的请求,并要回
http://www.website.com
答
看来,PHP不会正确保存会话。你能显示phpinfo()吗?可能会话保存处理程序被覆盖。此外,尝试摆脱Twitter和实验在纯PHP与会话变量。这会工作吗?
答
是否正确设置会话ID的cookie? 如果没有,那么会话ID将在URL中传递,因此您必须确保将其正确发送到Twitter。