php session_start()出错原因分析及解决方法

yipeiwu_com5年前PHP代码库

错误提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

原因:在session_start()之前如果有输出内容,会出错,

解决办法:在session_start()之前加上ob_start();

index.php 

复制代码 代码如下:

<?php
error_reporting(-1);
ob_start();//不加会出错,无法写入session
register_shutdown_function('close');

 
echo 1;
 session_start();

$_SESSION['password']='mima2ddddddddddddddda2';

function close()
    {
        if(session_id()!=='')
            @session_write_close();
    }
?>
<a href="index2.php" >index2</a>

index2.Php
复制代码 代码如下:

<?php
error_reporting(-1);
ob_start();//不加会出错,无法读取session
?
echo 1;
 session_start();

echo $_SESSION['password'];
var_dump($_SESSION);
?>
<a href="index.php" >index</a>

相关文章

php加密之discuz内容经典加密方式实例详解

本文实例讲述了php加密之discuz内容经典加密方式。分享给大家供大家参考,具体如下: 导读:有的时候,我们希望对表里的某些敏感字段进行加密,想了好长时间没有比较好的解决方案,后台在网...

php和js交互一例-PHP教程,PHP应用

复制代码 代码如下:<html>  <head>  <meta http-equiv="Content-Type" ...

使用PHPStorm+XDebug搭建单步调试环境

使用PHPStorm+XDebug搭建单步调试环境

PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,...

php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error

复制代码 代码如下: 1.调用模板中的判断语句不正确。 2.调用php或SiteEngine的一些函数不正确。 3.一些单引号或双引号引起的问题。...

php使用fputcsv()函数csv文件读写数据的方法

本文实例讲述了php使用fputcsv()函数csv文件读写数据的方法。分享给大家供大家参考。具体分析如下: fputcsv() 函数用于将数据格式为csv格式,以便写入文件或者数据库....