Php 会话变量有时不传递?
我有一个使用会话变量的站点。直到上周三,这一切都很顺利,但现在只是零星地起作用。有时我可以检索会话变量,有时我不能。如果这是一个服务器问题,我将如何解决托管公司的问题 我有此页面用于测试设置会话,该会话始终有效无问题,会话cookie域始终为空:Php 会话变量有时不传递?,php,session-variables,Php,Session Variables,我有一个使用会话变量的站点。直到上周三,这一切都很顺利,但现在只是零星地起作用。有时我可以检索会话变量,有时我不能。如果这是一个服务器问题,我将如何解决托管公司的问题 我有此页面用于测试设置会话,该会话始终有效无问题,会话cookie域始终为空: <? session_start(); $_SESSION['ID'] = "112233"; $_SESSION['token'] = "mytoken"; print "Created Session ID: ".$_SESSION['I
<?
session_start();
$_SESSION['ID'] = "112233";
$_SESSION['token'] = "mytoken";
print "Created Session ID: ".$_SESSION['ID']."<br>";
print "Created Session Token: ".$_SESSION['token']."<br>";
print "Session Cookie Domain If Set: ".ini_get('session.cookie_domain')."<br><br>";
?>
<a href="info2.php">Click To See If Sessions Are Passing</a>
然后我点击这个页面查看会话是否通过。这个页面有时显示我在上面代码中设置的会话,有时不显示。会话cookie域在此页面上也始终为空:
<?
session_start();
print "Passed Session ID: ".$_SESSION['ID']."<br>";
print "Passed Session Token: ".$_SESSION['token']."<br>";
print "Session Cookie Domain If Set: ".ini_get('session.cookie_domain')."<br><br>";
?>
If session ID doesnt say "112233" and session token doesnt say "mytoken" then there is a problem.<br /><br />
<a href="info.php">Go Back To Set Session Variables</a>
如果会话ID没有显示“112233”,并且会话令牌没有显示“mytoken”,则存在问题。
这两个页面都在HTTPS上,我不知道这些信息是否相关,但我想我会提到它。我不认为它与浏览器有关,因为当它不工作时,我已经在WindowsIE8和谷歌浏览器上加载了这些页面,在MacSafari、firefox和谷歌浏览器上加载了相同的结果
任何想法都将不胜感激。在phpinfo()中,当事情正常或不正常时,有什么可以帮助我解决这个问题的吗?这让我抓狂,因为就像我说的,它有时工作,有时不工作。这是某个地方的服务器错误。托管提供商必须更改某些内容。从那以后,一切都很顺利
感谢所有的帮助和输入您是否在切换协议(http://到https://或反之亦然)?在我创建的真实站点上,它可以在http和https之间切换,但在这个场景中,我创建了两个示例页面,用于测试其always httpsDon,不要责怪会话。归咎于缺少会话cookie,导致创建新会话。检查会话cookie的值在请求之间是否没有更改。如果是,您将获得一个新的空白会话。我如何检查会话cookies值?@user520300:在您的站点设置的cookies中,它通常保存在名称“PHPSESSID”下。您可以在浏览器内容中检查它,或者只使用var_dump($_COOKIE);,输出$_COOKIE数据;。