Php 会话缓存限制器
是的,我知道这已经做了,但这个问题是不同的 我得到的错误是:Php 会话缓存限制器,php,session,warnings,Php,Session,Warnings,是的,我知道这已经做了,但这个问题是不同的 我得到的错误是: Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/u5558315/public_html/admin/index.php:1) in /home/u5558315/public_html/admin/includes/php/header.php on line 3
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/u5558315/public_html/admin/index.php:1) in /home/u5558315/public_html/admin/includes/php/header.php on line 3
我已经查看了PHP开始标记、结束标记以及实际的会话\u start()
之前的任何内容的前后是否有空白
session_start()
是PHP脚本中继实际的之后的第一件事,重定向函数做什么
错误在第5行显示了一些内容。所以它有重定向功能
我想这应该能解决你的问题
if (!isset($_SESSION['login'])) {
header('location:login.php');
exit;
}
老实说,我不知道我是如何修复的,甚至不知道我是否修复了它,但它是有效的
主机可能会更改配置中的某些内容来修复它,但我真的不知道
感谢您在functions.php中提供的答案输出
?尝试添加var\u dump(ob\u get\u contents())代码>在会话开始之前。缓冲区里一定有东西。你可以做一个ob_clean()
来修复之前打印的一些空白,但是你应该在脚本中找到问题所在。我刚检查过,它与错误无关,也没有错误返回,bool(false)
和ob_clean()
也没有效果。在之前必须有空格或换行符,在位置:
标题之后应该有绝对路径,请阅读:这是我的错。我曾试图将会话放在include之后,但也失败了。但当它还在的时候,这就是错误。让我更新错误。重定向功能是另一种不使用标题(位置:)
的重定向方式。
<?php
include('includes/php/header.php');
?>
if (!isset($_SESSION['login'])) {
header('location:login.php');
exit;
}