PHP会话不是';t在多个网站上可用

PHP会话不是';t在多个网站上可用,php,session,Php,Session,在我的网站上,我需要与基于相同VPS的其他网站共享VAR$\u SESSION 我已经测试过了,但是vars$\u会话没有传递到其他网站。 但是$\u会话位置的配置是相同的 我应该检查什么 对不起我的英语,我是法国人:) Matancy您的$\u会话变量仅在您正在使用的服务器中可用。在项目的任何.php页面上使用 session_start(); echo "<pre>"; print_r($_SESSION); echo "</pre>"; session_star

在我的网站上,我需要与基于相同VPS的其他网站共享VAR
$\u SESSION

我已经测试过了,但是vars
$\u会话
没有传递到其他网站。 但是
$\u会话
位置的配置是相同的

我应该检查什么

对不起我的英语,我是法国人:)


Matancy

您的
$\u会话
变量仅在您正在使用的服务器中可用。在项目的任何.php页面上使用

session_start();
echo "<pre>";
print_r($_SESSION);
echo "</pre>"; 
session_start();
回声“;
打印(美元会话);
回声“;

更好地理解
$\u会话
vars的工作

重要的是,您必须拥有一个共享资源,以便在不同的主机之间共享会话—所有服务器都可以访问的SQL数据库、memcached、NoSQL数据库等。然后,您可以使用会话\u设置\u保存\u处理程序访问共享资源。

您是否使用相同的域名访问其他网站?也就是说,您的网站是example.com/mysite还是example.com/othersite?如果没有,您的设置可能对同一域有帮助。我的网站没有相同的域或子域。在许多服务器配置中,会话文件都有一个共享的
/tmp
位置。问题(更好地说是“安全功能”)是cookies的同源策略。在网站上,会话工作没有问题。但是,当我访问同一VPS上的另一个网站时,会话将不同。你必须求助于另一种选择,如SQL,如上面建议的卡西莫多克隆;如果可以按照您的意愿执行,$\u会话变量的使用将不安全;