$\ PHP5.3中的会话变量未粘滞

$\ PHP5.3中的会话变量未粘滞,php,session,Php,Session,在从5.2.17升级到5.3.13的服务器中,my$\会话变量不再在页面之间传递 在第1页中,我将$\u服务器[“isLoggedIn”]=true,在第2页中我将进行测试,但发现所有$\u会话变量都未设置 我将代码简化为一个简单的示例,如下所示: login.html: <?php session_start(); $_SESSION["isLoggedIn"] = true; $_SESSION['visitorLanguage'] = "en" ; i

在从5.2.17升级到5.3.13的服务器中,my$\会话变量不再在页面之间传递

在第1页中,我将$\u服务器[“isLoggedIn”]=true,在第2页中我将进行测试,但发现所有$\u会话变量都未设置

我将代码简化为一个简单的示例,如下所示: login.html:

<?php
session_start();
    $_SESSION["isLoggedIn"] = true;
    $_SESSION['visitorLanguage']  = "en" ; 


    if ($_SESSION["isLoggedIn"]  == true ){
        print "<p> Log in successful. </p>";
        print "<script>window.location='index.html? lang=".$_SESSION['visitorLanguage']." '</script>";
        }

?>

据我所知,一个没有以.php结尾的页面根本不应该进入php处理器。它在5.2中起作用比在5.3中不起作用更神秘。简言之,使您的索引页面index.php,确保删除服务器上的index.html(而且在本地,您不希望再次上传它)。。。一切都会好起来的。为了回答您的问题,5.2的安装是一种安装,5.3的安装是另一种安装。一个可以设置为另一个不同的选项。

类似的问题只花了我大约3天的时间,请确保注释掉请求\u order=None,或者在php.ini中设置为“GPCS”,否则会话变量将不会添加到超级全局数组请求中。

通过打印($\u session)您得到了什么show usprint\u r($\u会话)返回空数组。您没有发布解决方案。我今天需要答案。嗨,Geoff,不,真的不需要PHP代码驻留在扩展名为.PHP的文件中。事实上,您声称“,,不应该转到php处理器…”这一说法回避了一个问题,即为什么它会这样做,因为它肯定会这样做!不,毫不奇怪,将index.html改为index.php并没有解决这个问题。如果你不确定,在发布之前测试答案是个不错的主意。不确定我如何在你的服务器上测试任何东西,Starttrax?我还没有找到一种方法来停止5.3中的会话,所以当你发现时,请务必与我分享。现在看起来这很有趣。我会试一试,然后再报告。PHP手册对请求顺序可以具有的值有点模糊。我推断“GPCS”调用Get、Post、Cookies命令,但我不理解“S”。测试起来有点棘手,因为我在一个托管服务器上运行,有许多实时应用程序依赖于会话变量。切换到5.3测试设置更改将禁用我的用户:-(。我只希望他们会原谅!
<?
session_start();
echo "Version: ".phpversion(); 
echo " Session Data: "; 
echo "Is logged in: " . $_SESSION["isLoggedIn"]. "<br/>";
echo "Visitor Language: " . $_SESSION["visitorLanguage"];
?>
Version: 5.3.13 Session Data: Is logged in: 
Visitor Language
and in 5.2:
Version: 5.2.17 Session Data: Is logged in: 1
Visitor Language: en