[英]session_start() error
我无法处理此错误,请帮助我。 它可以在我的笔记本电脑上工作,但不能在我的台式机上工作。
为什么?
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at F:\xampp\htdocs\etest\index.php:1) in F:\xampp\htdocs\etest\common\header.php on line 3
编码:
<?php
ob_start();
session_start();
include("constants.php");
include("includes.php");
?>
谢谢你的好心!
通常,当您看到“标头已发送”时 ,表示您正在尝试执行一些需要设置HTTP标头的操作,但是您已经将内容发送到了客户端。 使用HTTP时,必须发送标头,然后发送内容。 如果您已发送内容,则错过了发送标头的机会。
错误发生在第3行的F:\\xampp\\htdocs\\etest\\common\\header.php on line 3
但输出F:\\xampp\\htdocs\\etest\\index.php:1
我假设您发布了header.php,但是您的index.php在<?php include()之前有空格,或者在第一行中输出的不是标题。
该错误是由index.php的第一行引起的,无论存在什么。 我猜是空格。
php.ini
文件中的use_only_cookies=0
到use_only_cookies=1
我在xampp 7.0.1中遇到了相同的问题,并对此进行了修复。 在这里阅读 。
在文件顶部启动会话。
在产生此错误消息之前,在进行回显或发送一些标头时,直接使用php标签。
<?php
session_start();
ob_start();
include("constants.php");
include("includes.php");
?>
通过配置启用输出缓冲。 这样,它将首先开始,因此它肯定可以解决您的问题。 尽管您应该查看代码并找到导致当前错误的原因,但因为您似乎还不完全了解您的网站。
通过配置启用输出缓冲后,您不再需要手动调用ob_start()
。
使用以下内容创建一个名为.htaccess的文件:
php_flag output_buffering on
...或将此行添加到您的php.ini中:
output_buffering = On
是的,请在文件顶部启动会话,并确保之前没有空格
<?php
另外,您可以调用session_start(); 只有一次
在有任何其他输出之前,必须先调用session_start()
。 错误告诉您输出从index.php第1行开始。必须在此之前调用session_start()
。
将此代码放入include.php中
ob_start();
session_start();
并从其他页面删除相同的代码。 另外,请确保文件中的开头没有空格
(特别是您收到错误,因为在index.php的第一行而不是header.php的第一行有问题)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.