我的会话遇到了麻烦。
我收到错误
警告:session_start():无法发送会话缓存限制器
我有2页的代码
if (!isset($_SESSION)) {
ini_set('session.gc_maxlifetime', 3*24*60*60);
session_set_cookie_params(3*24*60*60);
session_start();
}
我只能找到那些没有进行isset检查的人的例子,所以我不知道为什么会发生这种情况:(
我已检查过空格,我的php标记位于两个文件的第1行。
这是第一页,它加载了具有上述代码的dbmgmt。我需要两个文件中的会话代码,因为并不总是从创建会话的页面中包含dbmgt。
<?php
if (!isset($_SESSION)) {
ini_set('session.gc_maxlifetime', 3*24*60*60);
session_set_cookie_params(3*24*60*60);
session_start();
}
require("dbmgmt.php");
?>
答案 0 :(得分:2)
您正在尝试调用session_start()
,它正在尝试将HTTP标头发送到页面的输出。
但是在您的脚本早期的某个地方,您已经开始输出页面的内容。标题必须位于内容之前。
尝试在任何 HTML或内容(偶数空格或空格 <{1}}和?<php
标记之外调用此代码。
答案 1 :(得分:-2)
<强> TRY 强>
<?php
session_start();
ob_start();
?>
这将解决您的问题。