Cannot modify header information - headers already sent by
直接修改php.ini中的output_buffering = on
//php输出ob_start();
//获得$_POST,$_GET过来的参数
if (!empty($_GET)) {
extract($_GET);
} // end if
if (!empty($_POST)) {
extract($_POST);
} // end if
if (!empty($_FILES)) {
while (list($name, $value) = each($_FILES)) {
$$name = $value['tmp_name'];
}
} // end if
今天在使用php 的session 的时候,出现了以前就遇见但是又解决不了的问题,在页面上出现如下提示:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent on line 2
上网搜了一下,有人说是因为在session_start(); 语句之前有其他的html代码,但是我的session_start(); 已经在做前面了。
还有的说是因为没有设置session 保存路径,需要修改php.ini中的session.save_path = "C:/phpsession" [后边的路径自己设置,并且要保证存在。php.ini 文件一般应位于系统盘/Windows 目录下面]
还有的说是ob_start();session_start();
但是我做如上设置之后还是会有这个提示。后来经过反复测试,终于解决问题。
解决办法:
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1