我使用CI 3.1.10。在index.php文件中,我使用开发环境。
MY控制器
<?php
class Test extends CI_Controller {
public function index(){
echo CI_VERSION;
}
}
?>
当我尝试访问测试类时,它会显示此错误
这是向我显示警告的图像。
错误屏幕截图附
ob_start();
在根目录中CCD_ 1的第一行。这是有效的。
对我来说,发生这个错误是因为我在加载会话库之前加载的助手类中,意外地在php右括号?>
之后添加了一些空行。
为了进一步理解为什么会发生这种情况,php应该在将响应体发送到浏览器或控制台之前设置头部。
在使用header
、session_start
、set_cookie
等方法修改标头之前,通常怀疑的是print_r
、print
、echo
或空白。
这在这里也得到了很好的回答;标头已发送";PHP 中的错误
在我的例子中,是文件开头<? php"
之前的空行。
从控制器中移除Close标记?>然后检查
打开config.php并添加ob_start((;它将有助于延迟HTTP头的发送
看看下面的示例
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
ob_start();
关于代码点火器。这是关于区分大小写的问题。我的文件名在更改为Header.php后是Header.php。它对我有效。
在我使用deley/auth的情况下,我在调用我的login.php时也出现了同样的错误。
问题是index.php
0不是文件中的第一个语句。
把它放在第一位,一切都很好。在所有使用此服务的my.php中<? php require 'vendor/autoload.php'; include ('root.php'); include($root."db_settings.php"); require_once 'errormsg.php';
祝好运
在顶部粘贴这个
ob_start();
这对我有用