Advertencia: session_start () : no se puede enviar el limitador de caché de sesión

Tengo un problema con Session_start () aquí:

Advertencia : session_start () [function.session-start]: no se puede enviar el limitador de caché de sesión – encabezados ya enviados (salida iniciada en C: \ xampp \ htdocs \ pages \ home.php: 4) en C: \ xampp \ htdocs \ charts \ home-chart.php en la línea 2

y en home-chart.php en la línea 2 escribí códigos como este:

session_start(); . . . echo ' username: '.$_SESSION['user_name']; 

aunque con esta advertencia puedo obtener el resultado de $_SESSION['user_name'] pero cuando bash borrar esta parte del código:

 session_start(); 

No puedo ver ningún resultado en la pantalla. Entonces, ¿cuál es tu solución?

       
0
mysql_fetch($chart->daycal(-3)); ?>
mysql_fetch($chart->daycal(-2)); ?>
mysql_fetch($chart->daycal(-1)); ?>
mysql_fetch($chart->daycal(0)); ?>
mysql_fetch($chart->daycal(1)); ?>
mysql_fetch($chart->daycal(2)); ?>
mysql_fetch($chart->daycal(3)); ?>
dayofweek(-3); ?>
dayofweek(-2); ?>
dayofweek(-1); ?>
dayofweek(0); ?>
dayofweek(1); ?>
dayofweek(2); ?>
dayofweek(3); echo ' username: ' . $_SESSION['user_name']; ?>

Si incluso tiene líneas en blanco antes de la etiqueta , entonces no puede establecer encabezados. Su inicio de archivo, con números de línea, debería verse así:

 1.  

El mensaje dice "encabezados enviados en la línea 2", por lo que está produciendo algo (un espacio, una línea en blanco, lo que sea) en la línea 4 de home.php

Si este archivo es una inclusión, debe poner su session_start(); en la parte superior de home.php, en su lugar, y luego no lo necesitas en este archivo.

Significa que usted imprimió algo antes de llamar a session_start ().

No debe imprimir nada antes de session_start ().

El mensaje de error sugiere que primero imprimiste algo en C: \ xampp \ htdocs \ pages \ home.php en la línea 4.

escribe este código antes de la etiqueta de la cabeza . como abajo:

    Untitled Document     

Intenta pegar en la parte superior de tu página. Funcionará como magia.

  1. Abra su php.ini file ,
  2. Modificaciones session.auto_start = 0 a session.auto_start = 1
  3. Reinicie el servicio de Apache.

Si todas las respuestas anteriores no funcionó para usted:

Algunos editores, cuando guardan un archivo como UTF-8, insertan caracteres adicionales en el archivo desde el principio (el formato no lo requiere, pero lo hacen de todos modos). Luego, rechace mostrarle esos caracteres cuando muestren el archivo. Para ver si su editor es uno de estos, intente guardar un archivo vacío y ver cuántos bytes ocupa. Si es más que cero (probablemente tres), entonces tendrá que decirle a su editor que deje de molestar (y cómo lo hace depende del editor).

Esto no sucede si guarda el archivo como ANSI.

También enfrenté el mismo problema y resolví lo mismo al escribir debajo del código en la parte superior de la página php:

  

Utilizar

 session_cache_limiter(FALSE); 

antes de

 session_start(); 

Esto seguramente te ayudará 🙂