2011-06-28 87 views
0

所以我有一台开发计算机和一台生产服务器。在开发计算机上,一切都很好。我将该网站复制到生产服务器,并且我的会话变量不起作用。PHP会话变量;在一台计算机上工作,而不在另一台上

我用一个简单的登录脚本,并在注册人登录后会话的用户名。

session_register("myusername"); 

然后我把用于测试目的的权利低于一个陷阱。

if(isset($_SESSION['myusername'])) { 
       echo "set"; 
      } 
      else { 
       echo "not set"; 
      } 

在开发计算机上它打印出设置。在生产服务器上,它尚未打印出来。有趣的部分是,完全相同的代码在网站的另一部分工作得很好。

我正在处理库存系统,并使用已注册的登录名生成更改日志,以便可以查看谁对系统执行了什么操作。

就像我说的,这个相同的代码在系统的另一部分工作正常(我不重复使用它的原因是因为它们是单独的登录,但进入相同的AD数据库)。

有什么明显我丢失,将导致相同的代码:

A.工程对网站的一个组成部分,而不是其他。 B.在两个地方在测试计算机上工作,并在原始登录中在开发站点上工作。

感谢

+2

有你'在session_start()'ED? –

+0

你开始会话吗? –

回答

4

切勿使用session_register,因为它已被弃用。

试试这个:

session_start(); 
$_SESSION['myusername'] = 'something'; 

if(isset($_SESSION['myusername'])) { 
    echo "set"; 
} 
else { 
    echo "not set"; 
} 
+0

我发誓我试过了,它没有工作......现在它:)谢谢。我也会将其他引用更改为session_register()。 – navalhawkeye

+0

@ user808680 ---我们欢迎^ _ ^,请记得在可以的时候选择“接受答案” – Neal

相关问题