2010-01-23 4 views
0

J'ai un problème bizarre en cours avec mon serveur dev. Il y a quelques heures, la session PHP a complètement cessé de fonctionner. Chaque fichier (des centaines) a commencé à montrer des erreurs comme ci-dessous, à propos des cookies de session qui ne sont pas écrits. Je n'arrive pas à comprendre quel est le problème, ce qui fait que ça commence juste avant que tout ne fonctionne et que je n'ai même pas fait de changements. Pire de tout, je ne peux pas le faire fonctionner. J'ai essayé différents navigateurs, redémarrant mon serveur, redémarrant mon PC même. Rien ne aide, des idées que je peux faire? Ceci est vraiment fouPHP session cookies cessé de travailler sur mon serveur SEULEMENT

S'il vous plaît noter que je n'ai pas d'espace blanc ou quoi que ce soit l'impression à l'écran avant d'appeler session_start() soit

Warning: session_start() [function.session-start]: Ne peut pas envoyer cookie de session - déjà envoyés têtes par (output started at C: \ webserver \ htdocs \ friendproject2 \ laboratoires \ 2.PHP: 1) dans C: \ \ webserver htdocs \ friendproject2 \ laboratoires \ 2.PHP sur ligne 3

Warning: session_start() [function.session-start]: ne peut pas envoyer limiteur de cache de session - têtes déjà envoyé (output started at C: \ \ webserver htdocs \ friendproject2 \ laboratoires \ 2.PHP: 1) en C: \ webserver \ htdocs \ friendproject2 \ Labs \ 2.PHP en ligne 3 Test

Comme je l'ai mentionné, cela se produit dans chaque dossier de mon site maintenant, même des fichiers simples. L'erreur que j'ai posté est d'un fichier aussi simple que cela ...

<?PHP 
session_start(); 

$_SESSION['test'] = 'test'; 
echo 
$_SESSION['test']; 
?> 
+0

Quelle est la sortie de 'echo ini_get ('safe_mode');'? – sberry

+0

Vous souvenez-vous de ce que vous avez fait avant de cesser de fonctionner? –

+0

@ sberry2a echo ini_get ('safe_mode'); n'imprime rien à l'écran – JasonDavis

Répondre

1

Quelque chose se dans la ligne 1 outputed de C:\webserver\htdocs\friendproject2\labs\2.php.

De même, d'où vient cette test?


On dirait que la question a été l'encodage du fichier, vous devez toujours utiliser UTF-8 ne BOM que le codage preferred pour vos .php fichiers, éditeurs de code tels que Intype vous permet d'indiquer facilement ce (UTF -8 Plaine).

alt text http://i48.tinypic.com/ok4a4k.png


Vous devriez également lire The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) par Joel Spolsky.

+0

Je viens de mettre à jour mon message avec le code réel de cette page. Le test est à partir de la variable de session, travail de session sur une page si je les mets sur cette page, juste il enverra le cookie et donne des messages d'avertissement – JasonDavis

+0

UTF- * sans BOM est une solution partielle mais PHP attend son entrée dans ASCII – symcbean

0

Si start_session() est dans un fichier d'inclusion, vérifiez que vous incluez ce fichier AVANT de générer quoi que ce soit sur la page. C'est pourquoi il est dit que les en-têtes ont déjà été envoyés. J'ai déjà eu ce problème si start_session() n'est pas la première chose.

0

Sans modification du code et de plusieurs pages affectées, mon premier port d'appel consiste à vérifier si le serveur Web config (ou php.ini ou .htaccess) a été ajouté automatiquement.

Ceci entraînerait l'échec du code d'exemple de sberry2A. Si le code de sberry2A fonctionne, alors vérifiez quelques caractères dodgy dans un fichier include commun.

C.

Questions connexes