【发布时间】:2023-03-15 08:41:01
【问题描述】:
我遇到了一个问题,我在 2 个页面之间丢失了 PHP 会话。
session_start() 包含在一个名为 session-inc.php 的文件中,并包含在需要设置会话的每个页面中。这适用于网站上的所有页面,除了一个特定页面 member-profile.php。当访问此页面时,将设置并使用具有不同 id(相同会话名称)的新会话。
更多细节:
- 手动设置会话名称
- 所有页面都在同一个域名下的同一台服务器上
- 如果我在 member-profile.php 文件中的 include('session-inc.php') 上方添加了额外的 session_start(),则会话将正确进行
- 我已经尝试在 .htaccess 中设置 session_cookie_domain 和 session.session_name,这对这个域有效,但它阻止了会话被传递到支付域
- 我们正在运行 apache 2.2.6 和 php 5.2.5
将 session_start() 放在 member-profile.php 文件中的 include('session-inc.php') 上方是解决此问题的快速而肮脏的方法,但我想知道是否有人知道为什么会发生这种情况.
干杯
会
【问题讨论】:
-
你能发布你的文件 session-inc.php 的内容吗?是 include('session-inc.php');你在 member-profile.php 中做的第一件事是什么?