我的问题是为同一个用户和浏览器/标签生成多个会话cookie。
我有一个init.php文件,这是唯一负责启动会话的文件,所述文件的前几行如下所示:
<?php
session_start();
...
...?>
此文件位于/include/init.php,该文件本身位于子目录中。
然后我有一个位于/include/phpjson/memberInfo.php的另一个php文件。
与所有其他文件一样,此文件包含init.php文件。但是一旦执行此文件,另一个会话cookie就会显示在tmp目录中。
问题不仅在于创建了另一个会话cookie,而且我现在位于root的主页现在似乎使用的会话与位于任何子目录中的会话不同。
在Google上搜索stackoverflow和其他网站后,我发现有些人建议使用 session_set_cookie_params 功能来设置会话cookie的路径。但是,由于所有会话cookie都已在同一个文件夹中,因此没有任何效果。
我知道包含init.php的文件将从文件本身运行包含代码,而不是从init.php最初所在的位置运行。这解释了为什么root中的所有文件似乎都在共享同一个会话。
这里的简单解决方案是将每个php脚本放在根目录中,但这似乎不是正确的做法。
如果对此问题有任何疑问,请在评论中提问。我会尽快回复他们。
提前致谢:)
此致 丹尼尔霍尔斯特