3

我正在使用 CI 3.1.10。在 index.php 文件中我使用开发环境。

我的控制器

<?php
class Test extends CI_Controller {
public function index(){
    echo CI_VERSION; 
 }
}

?>


当我尝试访问测试类时,它会显示此错误

这是向我显示警告的图像。

附上错误截图

4

9 回答 9

5
ob_start();

index.php在根目录的第一行。这行得通。

于 2020-09-17T04:21:00.347 回答
2

对我来说,发生错误是因为我?>在加载会话库之前加载的辅助类中的 php 右括号后不小心添加了一些空行。

于 2021-01-07T11:45:18.267 回答
1

打开 config.php 并添加 ob_start(); 这将有助于延迟 HTTP 标头的发送

看下面的例子

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
ob_start();
于 2020-10-05T22:11:14.543 回答
1

为了进一步了解为什么会发生这种情况,php 应该在将响应正文发送到浏览器或控制台之前设置标头。

在使用,等方法修改标头之前,通常怀疑是print_r,或空格。printechoheadersession_startset_cookie

这在这里也得到了很好的回答如何修复 PHP 中的“标头已发送”错误

于 2021-07-02T09:10:25.737 回答
0

在我的情况下,文件开头的空行,在<? php".

于 2021-12-01T13:20:54.490 回答
0

从控制器中删除关闭标签?>然后检查

于 2020-02-17T08:52:38.020 回答
0

在顶部的 index.php 文件上粘贴这个

ob_start(); 

这对我有用

于 2021-09-21T04:43:21.693 回答
0

关于代码点火器。这是关于区分大小写的。我的文件名是 Header.php 更改为 header.php 后。它对我有用。

于 2021-06-20T08:29:56.473 回答
0

在我使用高兴/身份验证的情况下,我在调用我的 login.php 时遇到了同样的错误。

问题是这require 'vendor/autoload.php';不是文件中的第一个语句。

把它放在第一位,一切都很好。在我所有使用此服务的 .php 文件中<? php require 'vendor/autoload.php'; include ('root.php'); include($root."db_settings.php"); require_once 'errormsg.php';

祝你好运

于 2021-07-03T22:17:53.687 回答