无法发送会话缓存限制器-已发送的标头-CodeIgniter(Session.php)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法发送会话缓存限制器-已发送的标头-CodeIgniter(Session.php)相关的知识,希望对你有一定的参考价值。
我知道这已经被讨论很多次了,但是我认为情况有所不同。
我正在对如下所示的php方法进行简单的ajax调用:
public function updateAbout()
log_message('debug', "updateAbout is called", false);
log_message('debug',$this->input->post('fname'), false);
log_message('debug', "updateAbout success", false);
在此方法中,我只是尝试获取通过ajax调用传递的数据。
但是我没有通过ajax调用发布数据,而是收到2个错误:
Severity: Warning --> session_start(): Cannot send session cache limiter - headers already sent ...\..\\libraries\Session\Session.php 143
Severity: Warning --> Cannot modify header information - headers already sent ..\..\libraries\Session\Session.php 171
注意:
我在项目的任何地方都没有使用session_start()
。
此错误指向CodeIgniter库的Session.php文件中的session_start()方法。它没有指向我的代码中的任何地方,所以我不确定在哪里寻找问题。
我已经检查了整个互联网上的答案,但似乎都没有解决这个问题。
为什么会出现此错误,如何防止此错误?
编辑:
根据其他答案的建议,我已经检查并删除了我所有代码中的<?php ?>
中的空格。
这是我的JavaScript代码,在这里进行ajx调用。
$("#btnupdateAbout").click(function()
$fname=$("#updatefname").val();
$lname=$("#updatelname").val();
$country=$("#updatecountry").val();
$locality=$("#updatelocality").val();
if($('#optradioMale').is(':checked')) $gender="Male";
else$gender="Female";
$.ajax(
url:"http://localhost/Voyager/ProfileControls/updateAbout",
data:'fname':$fname,'lname':$lname,'country':$country,'locality':$locality,'gender':$gender,
method:"POST",
contentType:false,
cache:false,
processData:false,
success:function()
);
);
[在ajax调用期间在浏览器中使用F12,然后在控制台和网络上单击以查看您的ajax调用详细信息,有时由于不推荐使用的方法而发生错误,并且您需要更改php.ini中的某些php设置。像
always_populate_raw_post_data = -1
同样如果您使用的是routes.php
,请确保使用正确的路径
您能否检查此答案How to fix "Headers already sent" error in PHP
可能在设置标头之前抛出了一些输出/或错误。
当您进行AJAX调用时,您正在调用Code-igniter入口点,该入口将加载所有必需的库,包括启动会话。
[不知道函数log_message()
在做什么,但是我相信它会尝试打印到STDOUT,然后您的代码或代码点火器尝试发送一些标头。
您能否发布有关log_message()函数的大多数详细信息?
以上是关于无法发送会话缓存限制器-已发送的标头-CodeIgniter(Session.php)的主要内容,如果未能解决你的问题,请参考以下文章
无法发送会话缓存限制器-已发送的标头-CodeIgniter(Session.php)
警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送 [重复]
无法发送会话 cookie - 标头已发送 PHPUnit / Laravel
警告:session_start() [function.session-start]:无法发送会话 cookie - 标头已发送 [重复]