Accessing session between domain/subdomain. Local xampp installation

别来无恙 提交于 2019-12-11 10:38:49

问题


Thanks in advance.

I have a local installation of Xampp. My sites are setup as follows. I have my main domain i.e. 'domain' installatiopn directory: C:\xampp\htdocs\domain Within this i have a subdomain setup i.e. 'subdomain.domain' installation directory: C:\xampp\htdocs\domain\subdomain

The goal of this is to have a single sign on on the main domain site and be able to access the same session data when the user accesses the subdomain site (and thus not have to re-authenticate the user once they have logged into the domain portal site).

I create the session in my domain index.php as follows:

session_set_cookie_params(0, '/', '.3pccap'); 
session_name('mysessionname');
session_start();

Subdomain index.php

session_name('mysessionname');
session_start(); 

I've added a var_dump($_SESSION); on each index.php page to confirm what session data is available. Once I log into my main domain, the session if populated with the users data. I then navigate to my subdomain site which also runs a var_dump of the session variable. The variable is displaying as an empty array.

I have attempted setting the session cookie domain within my php.ini file, no change in behaviour.

Any assistance is most appreciated.


回答1:


You need to make the Session cookie visible for your subdomain (thus, calling the session_set_cookie on both, your domain and your subdomain):

session_set_cookie_params (0, '/', '.domain.com');
session_name('mysessionname');
session_start();

EDIT (From comments, which solved the issue)

A domain hostname should consist of two parts (even for local development), e.g. domain.local instead of domain




回答2:


When COOKIES are set, there is a parameter that allows you to specify the PATH and DOMAIN, if you set the DOMAIN to "domain.com" and the PATH to "/" this will make the COOKIE available accross all subdomains, some old browsers require the DOMAIN to use a leading dot(.) ".domain.com"...

Checkout the params on this page, session_set_cookie_params also has the DOMAIN and PATH arguments



来源:https://stackoverflow.com/questions/8818129/accessing-session-between-domain-subdomain-local-xampp-installation

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!