Php会话变量

Php会话变量,php,Php,我用session变量在本地服务器(WAMPSERVER)中编写购物车。另一个站点等于我的会话变量$\u session['cart']。因此,我将一个产品添加到我的购物车,另一个站点也会更新,如果我在另一个站点添加产品,我的购物车也会更新。我怎样才能解决这个问题 [编辑] 我的意思是我的两个站点在会话变量名上是相等的。因此,它们相互冲突。如果您想共享会话数据(您的问题听起来很模糊),那么您可以: 将会话数据存储在可从两台服务器访问的数据库中。根据手动管理的cookie id手动加载$\会话

我用session变量在本地服务器(WAMPSERVER)中编写购物车。另一个站点等于我的会话变量$\u session['cart']。因此,我将一个产品添加到我的购物车,另一个站点也会更新,如果我在另一个站点添加产品,我的购物车也会更新。我怎样才能解决这个问题

[编辑]
我的意思是我的两个站点在会话变量名上是相等的。因此,它们相互冲突。

如果您想共享会话数据(您的问题听起来很模糊),那么您可以:

  • 将会话数据存储在可从两台服务器访问的数据库中。根据手动管理的cookie id手动加载$\会话
  • 设置两台服务器共享的网络文件系统。查找PHP存储会话文件的位置,并使其在两台服务器上都可用。这取决于使用的网络文件系统,但可能不可靠。(但无论如何,您都在使用WAMP…)

这里列出了一些其他(可能更好的)解决方案:

函数:session\u save\u path([string$path])可能有帮助。为每个站点使用不同的路径。


这个问题类似于在一个数据库中安装多个站点的问题,在这种情况下,您应该为表使用前缀。
像这样,您应该在使用会话的任何地方使用前缀。
例如,在数据库中,我们有如下内容:

$sql=“SELECT*FROM
”.Config::getInstance()->dbprefix。“用户
WHERE…;”;
在这种情况下,我们需要这样的东西:

$\会话[Config::getInstance()->domainname.“card”];

很难理解你在说什么。如果我有点不舒服,请原谅我

据我所知,您目前有一个网站(example.com)和一个通过WAMP的本地网站(大概是localhost),您希望两个$u会话['cart']变量作为一个变量

或者更简单一点,您希望本地主机购物车与在线购物车同步,反之亦然。对吧?

如果您完全控制这两个站点,我建议通过url传递加密的会话id。例如:

pseudo code
 temp_var = localhost_cookie
 mydomain.com/page.php?a=temp_var
 mydomain_cookie = gets a
 destroy temp_var

未经测试,这就是我现在所能想到的。

我不明白你的问题。你能澄清一下吗?你是在尝试制作一个跨域的基于会话的购物车吗?如果是这样的话,这些域只是不同的主机名(a.abc.com,b.abc.com)还是完全不同?很难说这里有什么问题……我在本地服务器(WAMPSERVER)中创建了我的购物车。我的两个站点的会话名称在会话名称$\u session['cart']中相等。