警告:session_start():即使我正在检查现有会话,也无法发送会话缓存限制器

时间:2016-02-03 22:28:42

标签: php session

我的会话遇到了麻烦。

我收到错误

  

警告: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");
?>

2 个答案:

答案 0 :(得分:2)

您正在尝试调用session_start(),它正在尝试将HTTP标头发送到页面的输出。

但是在您的脚本早期的某个地方,您已经开始输出页面的内容。标题必须位于内容之前。

尝试在任何 HTML或内容(偶数空格或空格 <{1}}和?<php标记之外调用此代码。

答案 1 :(得分:-2)

<强> TRY

<?php 
   session_start();
   ob_start();
?>

这将解决您的问题。