2010-02-20 5 views
0

J'utilise CakePHP 1.3 et il ne cesse de me dire ce qui suit.CakePHP ne peut pas modifier l'en-tête?

Impossible de modifier les informations d'en-tête

Cela se produit seulement quand j'incluez le composant Auth.

var $components = array('Auth'); 

Est-ce que je fais quelque chose de mal, un bogue ou quoi?

+0

J'ai le même problème. Qu'avez-vous découvert? – emj365

Répondre

0

Les en-têtes doivent être la première partie d'une page Web que vous envoyez. Assurez-vous que vous n'avez pas envoyé d'autres informations avant d'envoyer un type d'en-tête.

This peut également être utile

+0

Peu importe, je l'ai découvert. Merci beaucoup. – gummybears

+0

@gummybears: Ce n'est pas idiot. Le script traite un espace comme un contenu, comme n'importe quel personnage. Il y a probablement un espace quelque part dans votre code ou vos composants qui vous empêche de manipuler les en-têtes. –

0

Cannot modify header information signifie que votre script (dans ce cas, le composant auth) tente de manipuler les en-têtes HTTP après leur envoi au client. Vous pouvez contrer ce comportement en activant la mise en mémoire tampon de sortie avec la fonction ob_start().

0

Il est soit ce que FRKT mentionne ci-dessus, ou le code est toujours en train de modifier les en-têtes et le composant inclus est en train d'écrire quelque chose à la sortie avant le gâteau a une chance d'écrire les en-têtes en dehors. Un exemple d'une bonne cause est d'avoir des espaces supplémentaires après le%> à la fin du fichier. (Je recommande de ne pas inclure le tag PHP proche à la fin des fichiers pour cette raison).

Jacob