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

yipeiwu_com6年前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入门之常量简介和系统常量

PHP常量默认为大小写敏感。传统上常量标识符总是大写的。 PHP常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表...

php下将XML转换为数组

复制代码 代码如下:// Xml 转 数组, 包括根键 function xml_to_array( $xml ) { $reg = "/<(\w+)[^>]*>([\...

PHP开发框架laravel安装与配置教程

Laravel是一套简洁、优雅的PHP Web开发框架,本文将详细介绍Laravel如何进行配置 配置说明 框架下载好了,但是想要很好的使用,可能我们还有一些东西需要知道,这就是配置。和...

php 注册时输入信息验证器的实现详解

1、对输入信息进行验证的类(主要用于验证用户名,密码,重复密码,邮箱,可添加其它功能)复制代码 代码如下:<?php/** * Validator for Registe...

PHP迅雷、快车、旋风下载专用链转换代码

复制一下代码,保存为cs.php即可,若要保存为其他名字,注意修改<form action=cs.php method=GET>这一行 复制代码 代码如下: <?php...