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

Calandra ·
更新时间:2024-09-20
· 683 次阅读

错误提示: 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验证session无效的解决方法phpmyadmin出现Cannot start session without errors问题解决方法ThinkPHP框架实现session跨域问题的解决方法ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法php5.3 不支持 session_register() 此函数已启用的解决方法PHP关于IE下的iframe跨域导致session丢失问题解决方法php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法PHP Session变量不能传送到下一页的解决方法PHP 出现乱码和Sessions验证问题的解决方法!php提示Failed to write session data错误的解决方法



php session start 方法 PHP session

需要 登录 后方可回复, 如果你还没有账号请 注册新账号