Codeigniter会话错误和解决方法


Codeigniter sessions errors and workarounds

因此,在阅读了CodeIgniter会话库的文档后,我发现它相当令人困惑。

我的问题源于需要存储一些信息(文件名、产品ID和颜色ID数组)。我用的是flash数据。

我犯了502错误。删除set_flashdata()方法已经停止,但我仍然需要发送数据。

据我所知,CI默认情况下会从超全局数组中擦除所有数据,因此我不能使用PHPs本机会话。

此外,文件规定如下:

会话数组的一个有用方面是,您可以添加自己的数据并将其存储在用户的cookie 中

这让我很困惑,PHP将会话ID存储在cookie中,并将会话数据存储在服务器上。CI说它将您自己的数据添加到cookie中是什么意思?

我当然想要这个功能——我只是把数据存储在cookie中,而不是使用会话?

此外,文件的另一部分指出:

Cookie只能容纳4KB的数据,因此请注意不要超过容量加密过程尤其会产生比原始数据串更长的数据串,因此要仔细跟踪存储的数据量。

他们在谈论将我的数据存储在真正的cookie中吗?还是在会议中?我如何知道我使用的数据是否超过4KB??这是每个flash数据会话吗?还是全部数据?

所以我的问题(作为要点)是:

  1. 使用会话库时,数据是存储在cookie中,还是存储在实际会话中
  2. 为什么在使用flash数据时会出现502错误
  3. 如何计算我使用了多少数据
  4. userdata()flashdata()方法是否可以存储不同数量的信息
  5. 我是否可以将CI会话库与PHPs本机会话结合使用

如有更多信息,我们将不胜感激。非常感谢

您似乎对会话是什么或者cookie和会话之间的区别感到困惑。

  1. 它被称为会话库和会话,因为它是服务器端会话

  2. 你知道php有一个错误日志吗?你有能力找到特定的错误,事实上这就是你应该做的。?

  3. 除非你试图滥用会话的目的,否则你会没事的

  4. flashdata用于flash消息,userdata用于存储为其他目的需要检索的数据。你的问题即使得到回答也毫无意义。

  5. 在文档的顶部"注意:Session类不使用本地PHP会话。它生成自己的会话数据,为开发人员提供了更多的灵活性。"我建议不要这样做,因为它没有任何用途。