是什么打破了另一页的工作$ _SESSION?

时间:2012-05-29 16:48:51

标签: php

我有一个奇怪的问题。其中,我使用$ _SESSION向用户显示登录错误。它没有问题。几天前,我已将主机从Plesk主机更改为运行safe_mod的cPanel主机。不知何故,登录页面上的$ _SESSIONs无效。我在索引页面上测试$ _SESSION并且它工作正常,它表明使用$ _SESSION函数没有任何问题。两个页面都包含相同的会话启动页面

当包含我的函数文件时,登录页面上也没有任何作用。 (会话,发布项目,类,功能等没有。)但即使包含函数文件,一切都在索引页面上工作。这里发生了什么事?可能是什么原因?

PS:我正在使用UserCake作为会员系统。我的服务器不允许我在htaccess级别转换PHP错误,而

似乎没有
error_reporting(E_ALL);
ini_set('display_errors', '1');

我的错误日志也没有任何相关内容。

编辑:我们使用

成功显示错误
ini_set('error_reporting', 8191); 
ini_set('display_startup_errors', 1); 
ini_set('display_errors', 1);

感谢@J A,但似乎没有错误。

3 个答案:

答案 0 :(得分:0)

以下任何一种解决方案。

  1. 把session_start();在您正在访问$ _SESSION的页面之上。

  2. 检查您的php.ini,如果您不想关注其他解决方案,可以将会话自动启动设置为1。

答案 1 :(得分:0)

我知道这个答案很愚蠢....但我认为你错过了session_start();在登录页面的顶部

<?php session_start();?>

或者我猜你必须使用相同的页面进行登录和注销。因此,由于配置错误,会话未被设置或销毁。如果是这样,请检查一次代码或分离文件以进行登录和注销......

答案 2 :(得分:0)

在文件顶部添加session_start()

<?php session_start(); ?>