微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

错误提示

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

原因:

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

解决办法:

在session_start()之前加上ob_start();

index.PHP

<div class=codetitle><a style=CURSOR: pointer data=72164 class=copybut id=copybut72164 onclick=docopy('code72164')> 代码如下:<div class=codebody id=code72164>
<?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(); 
 } 
?>

index2.PHP

<div class=codetitle><a style=CURSOR: pointer data=63878 class=copybut id=copybut63878 onclick=docopy('code63878')> 代码如下:<div class=codebody id=code63878>
<?PHP 
error_reporting(-1); 
ob_start();//不加会出错,无法读取session 
?
echo 1; 
session_start(); echo $_SESSION['password']; 
var_dump($_SESSION); 
?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐