我有一个奇怪的问题。其中,我使用$ _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,但似乎没有错误。
答案 0 :(得分:0)
以下任何一种解决方案。
把session_start();在您正在访问$ _SESSION的页面之上。
检查您的php.ini,如果您不想关注其他解决方案,可以将会话自动启动设置为1。
答案 1 :(得分:0)
我知道这个答案很愚蠢....但我认为你错过了session_start();在登录页面的顶部
<?php session_start();?>
或者我猜你必须使用相同的页面进行登录和注销。因此,由于配置错误,会话未被设置或销毁。如果是这样,请检查一次代码或分离文件以进行登录和注销......
答案 2 :(得分:0)
在文件顶部添加session_start()
<?php session_start(); ?>