2015-08-13 2 views
3

J'ai 3 environnements pour PHP.La session PHP ne fonctionne pas dans le sous-répertoire & tue la session existante

  1. Local
  2. Mise en scène
  3. en direct

Le problème est que quand j'appelle la session dans le répertoire sous après session_start() qui donne erreur têtes sont déjà envoyés & tue session existante. Et si je ne démarre pas la session, cela donne une erreur pour Variable indéfinie _SESSION.

La session fonctionne uniquement dans le répertoire ROOT. mais ne fonctionne pas dans Sous-répertoire.

Cela se produit uniquement sur Live Environment. Ce même code fonctionne sur Local & Mise en attente mais pas sur Live.

Je ne sais pas, mais cela peut être un problème de configuration PHP. Guidez-moi s'il-vous-plaît.

+1

pouvez-vous ajouter le code où vous démarrez la session dans le sous-répertoire – Jpec

+0

cette question est la même que [This] (http://stackoverflow.com/questions/8199936/php-5-3-3-running-session- start-in-sous-répertoire-kills-existing-session) –

Répondre

0

La première ligne de php devrait être session_start(). Si vous incluez/ajoutez une page php contenant session_start() dans une autre page, l'erreur "header already sent" s'affichera.

Ajouter session_start() au début de la page principale de votre page.

+0

J'ai déjà commencé la session sur chaque page. cette page appelle en iframe. La page principale contient session_start() et la page iframe contient également session_start(). mais si je recommence la session, il tue la session existante. Et si je ne lance pas start_session() sur la page iframe, cela donne une erreur pour la variable $ _SESSION non définie. à et il tue la session existante. –

+0

IFrame crée une session http entièrement nouvelle. Vous ne pouvez pas fusionner votre session principale avec la session ifram. Vous ne devriez pas utiliser iframe dans cette situation. Je vais vous suggérer d'utiliser div. Vous pouvez utiliser IFrame pour charger une page externe sur votre site Web. –

+0

J'ai essayé pour cela après votre suggestion, mais en fait cela ne fonctionne pas. session est également tué dans cette situation. –

1

Ajouter session_start() au début de votre page principale. Veuillez vous assurer que si vous incluez un autre fichier, session_start() n'est pas défini, sinon une erreur s'affichera.

+0

erreur s'affiche également sur mon environnement local et de transit. Mais ils ne tue pas ma session. Pourquoi mon serveur Live tue une session existante? –