session_start()的问题

时间:2011-11-02 09:25:31

标签: php

我是先进的PHP新手。请问您能解释这个功能的作用吗?

ini_set('session.use_trans_sid', 0);

我有一个名为index.php的特殊文件,如果我启动会话,我会在此函数上出现以下错误。

  

警告:ini_set()[function.ini-set]:会话处于活动状态。您不能在第35行的[...] / main.inc.php中更改会话模块的ini设置

我已经安装了一个模块,该模块正在删除所有主页会话,这就是为什么我在其上设置条件 - 检查session_start()以及会话的特定条件。

3 个答案:

答案 0 :(得分:0)

ini_set('session.use_trans_sid', 0); 是禁用透明sid支持,但默认为0。

你应该把它放在session_start()之前。

答案 1 :(得分:0)

不是错误的解释信息吗? 它已经启动后无法更改会话设置。 在调用会话开始之前使用此设置,而不是在之后。

答案 2 :(得分:-1)

在开始新会话之前,请务必检查会话是否已存在,如下所示:

if(!session_id()) { session_start(); }

如果没有设置session_id,它将启动一个新会话,否则它什么都不做。 对于use_trans_sid,xdazz几乎涵盖了这一点。