2009-08-03 11 views
0

Je déplace le site vers un nouveau serveur et je reçois maintenant cette erreur!avertissement php - en-têtes déjà envoyés après le déplacement du serveur

Attention: session_start() [function.session-start]: Impossible d'envoyer limiteur de cache de session - têtes déjà envoyés (output started at /home/com10002/public_html/bank/index.php: 29) /home/com10002/public_html/bank/includes/quickform.php en ligne 5

J'ai mis session_start() à le top mais ça ne marche toujours pas dans Google Chrome! Je suppose que ça a quelque chose à voir avec le Captcha mais ça marche bien sur l'ancien serveur!

+4

Cela n'a absolument rien à voir avec Google Chrome. – moo

Répondre

5

Il y a probablement une sortie avant l'appel session_start. Regardez la ligne 29 dans /home/com10002/public_html/bank/index.php où la sortie a commencé selon le message d'erreur.

Assurez-vous qu'il n'y a pas de sortie avant que les fonctions qui pourraient manipuler l'en-tête HTTP tels que header, setcookie ou session_start (si vous utilisez un cookie de session) ou utiliser le output control functions pour ce tampon.

+0

Pour une raison quelconque, cela fonctionne très bien sur mon navigateur google-crome, mais personne d'autre!

+0

Vous pourriez vouloir vérifier s'il y a des caractères invisibles comme une nomenclature UTF comme MrZombie l'a remarqué. – Gumbo

+0

je l'ai ouvert dans le bloc-notes et l'ai essayé! Fonctionne toujours sur le mien mais pas mes potes! –

0

Si cela a fonctionné sans erreur avant et contient maintenant une erreur, cela pourrait être un problème d'encodage.

Cela m'est arrivé auparavant, je pense que c'était quelque chose comme le serveur de sortie ISO-quelque chose et je code en UTF-8.

0

Vous appelez session_start() sur quickform.php à la ligne 5. Ceci est probablement inclus depuis index.php quelque part, et avant le point d'inclusion, vous envoyez un résultat.

session_start() doit être appelée que une fois, avant toute sortie . Si vous ajoutez simplement un appel supplémentaire en haut, il finira par être appelé deux fois. C'est pourquoi vous recevez cet avertissement.

+0

J'ai commenté le session_start sur la ligne 5 du quickform.php avant d'ajouter le code en haut de la page, donc je ne reçois pas cette erreur plus! Mon problème maintenant est que cela fonctionne dans mon google crome et noone elses! Une idée? –

+0

Cela ne fonctionne probablement que parce que vous avez déjà votre ensemble de cookies. Utilisez firebug pour voir si l'en-tête Cookie: est renvoyé avec des requêtes; sinon, c'est votre problème. – bdonlan

0

s'il vous plaît mettez ob_start(); avant votre session_start(); et le début de la page.Veuillez effacer votre cache et voir qu'il devrait fonctionner.

Questions connexes