error session_start
Juan Cataldo Sepulveda
jcataldo en inf.utfsm.cl
Vie Mar 5 18:32:29 CLST 2004
El Vie 05 Mar 2004 18:18, Hugo Arturo Figueroa Rodríguez escribió:
> estoy haciendo una pagina web con sesiones funciona bien, pero de vez en
> cuando manda en siguiente error al pasar por la funcion session_start();
> que es la primera linea de la pagina.
>
> Cannot send session cache limiter - headers already sent (output started
> at
session_start() necesita manipular los encabezados de la respuesta HTTP, los
que obviamente deben ser enviados antes que el texto de la pagina HTML que
estas generando.
PHP da por terminado en envio de encabezados al detectar la primera linea de
tu script que genera salida (lo que deberia corresponder al comienzo del
texto HTML), por lo que desde ese momento no puedes invocar funciones como
session_start().
Lo que debes hacer es determinar donde y por que comienzas a generar salida
(basta solo un espacio fuera de los <?php ?> para que ocurra eso),
probablemente guiandote por el mensaje de error (fijate en el "output started
at..").
Notese que PHP tiene una opcion para hacer "buffering" del texto HTML para asi
no dar por finalizado el envio de encabezados hasta que el script termine,
pero no deberias usar esta caracteristica a menos que tengas absolutamente
claro lo que ello implica.
--
Juan M. Cataldo Sepulveda mailto:jcataldo en inf.utfsm.cl
http://www.inf.utfsm.cl/~jcataldo
Unidad de Servicios de Computacion e Internet - DI, UTFSM, Chile
Más información sobre la lista de distribución PHP