Home  >  Article  >  php教程  >  php使用session提示Cannot send session cache

php使用session提示Cannot send session cache

WBOY
WBOYOriginal
2016-06-08 17:21:44963browse

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

<script>ec(2);</script>

今天在使用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保存路径了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn