PHP设置会话导致错误
Posted
技术标签:
【中文标题】PHP设置会话导致错误【英文标题】:PHP setting sessions cause error 【发布时间】:2016-07-05 06:37:37 【问题描述】:我将我的项目复制到我的桌面。但是当我在桌面上运行项目时,它不会加载login.php
。
session_start();
if (isset($_SESSION['username']))
header('Location: index.php');
我的登录页面中有上述代码,以便在用户已经登录时将用户重定向到索引页面。这导致我出错。
删除上面这段代码后login.php
加载成功。
我在笔记本电脑上使用 2013 年编译的 xampp 版本,在台式机上使用 2015 年编译的版本。这是导致错误吗?以及它的解决方案是什么。
【问题讨论】:
在设置 header 之前你会产生任何输出吗? 你真的应该总是在header('Location
之后使用die()
,以确保PHP按预期终止。
页面根本没有加载。它显示现在无法访问此网页
能否编辑您的问题并添加完整的错误消息?
当您的工作代码在您更改环境时停止工作时,它的运行通常是因为新环境使用与旧环境不同的配置设置,并且代码依赖于特定配置设置。
【参考方案1】:
您收到此错误是因为未设置会话变量首先尝试打印类似的内容,并且您应该在标头之后使用 exit()。它应始终与标头一起使用以停止进一步处理。
session_start();
print_r($_SESSION['username']); // just to check session exist or not
如果它不能解决您的问题,请在此处提供您的所有代码。
【讨论】:
【参考方案2】:我解决了这个问题。我将我的 appache 端口号从 80 更改为 81 。我想那是错误。
我对php.inc
文件做了一点改动
session.use_only_cookies=0
已改为
session.use_only_cookies=1
它现在可以工作了
参考 What may cause an ERR_CONNECTION_RESET error, on xampp while using session
【讨论】:
以上是关于PHP设置会话导致错误的主要内容,如果未能解决你的问题,请参考以下文章
无法启动会话:已由 PHP 启动(设置了 $_SESSION)。 500 内部服务器错误 - RuntimeException
使用会话时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因