当前位置:首页 > PHP教程 > php会话 > 列表

php使用session提示Cannot send session cache

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-11 15:56:00 浏览: 评论:0 

在php页面加服务器端用户验证时碰到使用session页面出现Warning:session_start() [function.session-start]: Cannot send session cache limiter...错误了,在网上看了一圈发现方法很简单.

今天在使用php 的session 的时候,出现了如下提示:

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

因为在session_start();语句之前有其他的html代码.

解决办法:修改php.ini中的session.auto_start = 0 为 session.auto_start = 1

设置变量,代码如下:

  1. session_register("user"); 
  2. $_SESSION["user"]=$name
  3. //获取 
  4. session_start();  
  5. echo $_SESSION["user"]; 

如果上面还是无法解决我们可以看看是不是编码问题.

1、将出错档案转换为 UTF-8 编码无 BOM 格式,我一般是用 Notepad++ 来转.

2、以 ob_start() 开启缓存区将输出资讯写入缓存区,可避免 headers 先于 session_start() 输出,代码如下:

  1. <?php 
  2. ob_start() 
  3. echo "test" 
  4. session_start() 
  5. ob_end_flush() 
  6. //开源软件:phpfensi.com 
  7. ?> 

补充有朋友说:session.save_path = "C:/phpsession" [后边的路径自己设置,并且要保证存在,其实这个是错误的了我们配置好php时就己经配置好了,如果其它程序没有问题千万不要去修改session.save_path保存路径了.

Tags: Cannot send session cache

分享到: