gpt4 book ai didi

php - session 在 php/linux centos 中丢失

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:32 25 4
gpt4 key购买 nike

好的。我知道有很多关于在页面之间导航丢失 session 的帖子,但没有一个像下面这样:

我在共享主机帐户中运行良好的网站上工作。

当我将站点移动到云服务器时,我只能登录。但是当我进入时,任何页面上的任何操作都会将用户与登录页面抛出,并且某个地方不再有 session 变量。

对我来说一切都很好, session 路径是可写的, session 已正确设置,直到第一页, session 在 html 代码的开头和结尾正确显示。

疯狂了 1 天后,我发现对于页面中的每一个错误(找不到 css 文件或找不到图像), session 都会丢失。因此,我一个一个地纠正了这些错误(顺便说一下,这非常好),现在网站又可以正常工作了。

我的问题是我可以在哪里配置这样的 linux 服务器行为,保存和写入 session ,即使在编程中存在一些错误?

我想知道它,因为如果共享主机是这样工作的,就意味着某处有一个指令可以做到这一点……但直到现在我找不到任何东西。

最佳答案

错误导致 session 不被保存的唯一可能性(假设您使用正常的 session 保存处理程序)是 PHP 本身会在页面结束之前崩溃 - 所有其他情况(与 PHP 无关的错误,例如作为丢失的 CSS 文件或图像或不是崩溃的 PHP 错误)仍然应该让 PHP 正常关闭,如果您之前没有手动执行 session_write_close() 会自动执行。

这也不太可能是与 Linux 相关的问题。

最可能的选择是旧主机和新服务器之间的 PHP session 设置有所不同。在两者上运行 phpinfo() 并比较 session 设置 - 查看是否发现任何异常。

另外,我建议确保您的 session ID cookie 被浏览器接受并且不会随时间改变。使用 Firebug 或 Chrome Developer Tools 通过多个页面跟踪 session ID cookie(默认称为 PHPSESSID)的值。确保它被浏览器接受并且不会一直更改。

关于php - session 在 php/linux centos 中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14578388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com