2011-03-15 3 views
1

Je souhaite que ma session fonctionne sur mon site Web lorsque j'utilise www. ET quand vous ne l'utilisez pas. J'ai lu ce fil: PHP cookie problem - www or without wwwCookie de session et www

Et cela fonctionnerait, mais je ne suis pas créer des cookies ici, mais les sessions. Comment pourrais-je résoudre ceci? Notez également que je ne sais pas sur quel domaine mes scripts vont s'exécuter, donc le hardcoding du domaine n'est pas une option.

Existe-t-il un moyen de le faire?

Merci

EDIT: Je force que l'ID de session de doivent être stockés dans des cookies, de sorte que cela s'applique.

Répondre

2

fonction d'utilisation avant d'appeler session_start, il vous permet de définir le domaine de la session et d'autres choses, définir le domaine à votre domaine préfixé avec. rendre la session disponible pour les sous-domaines.

0

En utilisant le nom d'hôte correct dans l'ensemble des demandes est importante pour les sessions. Toutefois, si vous allez accéder aux cookies sur plusieurs sous-domaines, vous pouvez spécifier le paramètre de domaine avec une période préconfigurée. À savoir,

.example.com

0

J'ai rencontré ce problème avec mes cookies et votre lien dans votre message est idéal pour résoudre ce problème.

Jusqu'à présent, je n'ai jamais rencontré de difficultés avec les sessions. Il est indépendant du domaine ou des sous-domaines, ils sont stockés sur le serveur.

Vous pouvez définir dans un fichier de configuration un paramètre constant DOMAIN_NAME, ou dans la base de données, en prévision de vos cookies, puis le modifier une seule fois.

1

Vous pouvez indiquer php.ini pour cela. Ajouter ceci dans php.ini afin que votre cookie de session sera enregistrée à l'endroit pour être accessible avec ou sans www

session.cookie_domain = .example.com 

Vous pouvez également essayer un autre pour le faire

ini_set("session.cookie_domain", ".example.com"); 

Et vous pouvez obtenir le nom d'hôte en utilisant la variable $_SERVER['HTTP_HOST'].

Questions connexes