PHP会话子域+脚本

时间:2019-03-14 12:28:52

标签: php .htaccess session subdomain

我有一个带有子域的网页,并且我想与该子域共享PHP会话。我认为已经通过将主域的.htaccess设置为:

php_value session.cookie_domain ".example.com"
php_value session.save_path /tmp
Header set Origin "https://sub.example.com"
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Origin "https://example.com"

以及子域的.htaccess中:

php_value session.cookie_domain ".example.com"
php_value session.save_path /tmp
Header set Origin "https://example.com"
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Origin "https://sub.example.com"

这似乎可行,我可以同时访问主域和子域上的会话。但是,我需要在子域上运行一个脚本,该脚本需要访问会话变量并将其输出显示在主页上。该脚本由AJAX调用。该会话不适用于此PHP脚本。 我在这里做什么错?

当我在Chrome中查看会话cookie时,它是为主域设置的,但是对于子域则没有会话cookie。这有问题吗? 我尝试了很多事情,但是都没有成功... 我每次都通过以下方式开始会议:

if (session_status() == PHP_SESSION_NONE) { session_start(); }

我还注意到了:主页上的session_id()返回相同的ID,但是脚本始终获得一个新的ID。这显然是一个问题。这是否意味着请求不是来自主域和我的浏览器ID,而是在服务器上启动了新会话?

0 个答案:

没有答案
相关问题