PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php使用session提示Cannot send session cache

原创
2016-06-08 17:21:44 798浏览

在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


设置变量

 代码如下 复制代码

session_register("user");
$_SESSION["user"]=$name;

获取

session_start();
echo $_SESSION["user"];

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

1、将出错档案转换为 UTF-8 编码无 BOM 格式(我一般是用 Notepad++ 来转)
2、以 ob_start() 开启缓?区将输出资讯写入缓?区,可避免 headers 先于 session_start() 输出

 代码如下 复制代码

ob_start()
echo "test"
session_start()
ob_end_flush()
?>

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。