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

yipeiwu_com7年前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面向对象程序设计中self与static的区别分析

本文实例讲述了php面向对象程序设计中self与static的区别。分享给大家供大家参考,具体如下: 1、假设我们有个Car类,它有2个方法:model()和getModel()。...

PHP使用PHPexcel导入导出数据的方法

本文实例讲述了PHP使用PHPexcel导入导出数据的方法。分享给大家供大家参考,具体如下: 导入数据: <?php error_reporting(E_ALL); /...

深入解析PHP内存管理之谁动了我的内存

首先让我们看一个问题: 如下代码的输出,复制代码 代码如下:var_dump(memory_get_usage());$a = "laruence";var_dump(memory_ge...

PHP实现十进制数字与二十六进制字母串相互转换操作示例

本文实例讲述了PHP实现十进制数字与二十六进制字母串相互转换操作。分享给大家供大家参考,具体如下: <?php /** * 将十进制数字转换为二十六进制字母串 */...

php调用KyotoTycoon简单实例

本文实例讲述了php调用KyotoTycoon的方法。分享给大家供大家参考。具体如下: Kyoto Tycoon(简称KT)是Tokyo Tyrant 的作者Mikio Hirabaya...