Warning: Cannot modify header information – headers already sent by…

Estoy instalando Texpattern ya en este servidor porque reemplazará al WP. Una vez isntalado, procedo a mirar la configuración etc. y me cuentro en cada cabecera esto:

Warning: Cannot modify header information - headers already sent by (output started at /home/unpathcualquiera/textpattern/config.php:8) in /home/unpathcualquiera/textpattern/include/txp_auth.php on line 116

Je, lo curioso de no saber nada e ir a preguntarle al señor Google qué es eso y ver que hay aproximadamente 935.000 resultados de Warning: Cannot modify header information no me ayuda nada :D.

19 Respuestas a la entrada “Warning: Cannot modify header information – headers already sent by…”

Es un fallo de programacion:

echo “Si escribes, se tienen que mandar los headers”;
header(”Content-type: text/plain”);

La función header se ejecuta cuando ya se han mandado datos en la respuesta al cliente, y por lo tanto no poemos cambiar las cabeceras (que se deben enviar antes de los datos).

No sé que problema puede tener texpattern, pero igual sabiendo a qué se debe puedes sacar alguna conclusión.

Suerte.

Ya está, ya lo arreglé. Encontré que había un espacio y un caracter no UTF que lo jodía todo, pero ahora ya está solucionado.

Sweeeeet.

a mí me pasaba eso en wordpress. y es porque al final del documento php (detrás de el cierre) tenía espacios de más. colocar el cursor detrás del ?>, darle al supr y listo.
a ver si puede ser eso.

Sé que lo has arreglado, pero es un error muy común cuando se están preparando plantillas para cualquier CMS dejar algún espacios detras del ?>, como dice Ana. Es lo primero que hay que mirar cuando sale ese mensaje. Yo me volvi loco una vez hasta que dí con el problema. Menos mal que está San Google. ;-)

Un clásico, no mandes nada al browser antes de enviar headers.

Escrito por jorge
Mayo 2nd, 2005 at 11:34 am

vaya…enhorabuena por arregarlo

ese error se produce cuando las cabeceras html han sido enviadas, por ejemplo, al crear una cookie esta se genera “antes” que la pagina y es enviada en los cabeceros. Si escribes algoen el documento, antes de enviar la cookie, o intentas escribir en ella una vez modificado el documento, te saldrá el error.

como supongo que habras tocado codigo a mano, mi consejo es que comentes todo el codigo y vayas descomentando parrafo a parrafo, para ver cuando da el error.

errores tipicos son un javascript escrito antes de crear la cookie, o un codigo que requiere mandarse antes, como las cookies.

existen dos funciones en php para salvar este problema, son el buffer_start() y el buffer_flush() (no me acuerdo bien si se llaman así o no, porque hace mucho que no las uso…pero por ahi van los tiros). Si las pones al principio y al final respectivamente, lo que hacen es guardar en el buffer todo el codigo, y soltarlo cuando acaba la pagina.

espero qeu os sirva!

Ahi va, las funciones son ob_start() y ob_flush(). En gral son bastante utiles porque te evitan todos esos problemas, pero si tienes páginas muy largas puede llegar a ser un poco pesado esperar a crear toda la página para largarla.

Tal vez deberias afinar más la búsqueda…

Si buscas:
textpattern Warning: Cannot modify header information - headers already sent by (output started at

Salen 97 resultados ;-)

Ultimamente veo mucha gente que abandona Wordpress en favor de otros sistemas de publicacion. ¿Empieza la caida?

Bueno, en teoría WP no tiene absolutamente nada de malo, sólo que no se adapta a mis necesidades. WP es perfecto para el que necesita una tremenda extensibilidad.

Para otras ocasionas, prueba a buscar en http://www.php.net/

Eso que dijo Pablo Viojo de las funciones de php ob_start() y ob_flush() si me sirvieron, gracias!

yeyoxido@hotmail.com

Ta chido esto!!!

buen dia a todos.

Escrito por eterno_inocente
Abril 24th, 2006 at 5:49 pm

se pasaron con el ob_start() y ob_flush() no sabia de esas funciones…
me salvaron de modificar todo mi codigo, ya q funcionaba localmente..pero al subirlo al servidor me daba ese error

Holas, saludos … quisiera saber donde ubico el ob_flush() ???? …

Escrito por Elena
Junio 26th, 2006 at 4:12 pm

Unas respuestas muy útiles.

Gracias!!

Escrito por Elena
Junio 26th, 2006 at 4:14 pm

Por cierto, el ob_flush al final del todo, justo antes del cierre (?>), puedes mirar en http://www.php.net

Hola! Yo tuve el mismo problema y a traves del Google derive en este foro. Mi problema era que esta tratando de modificar los Headers despues de la siguiente linea:

Si pongo las modificaciones antes de esa linea, no hay problema. Saludos.

Escrito por gonzalo
Julio 16th, 2006 at 6:44 pm

muchas gracias

Escrito por David
Agosto 1st, 2006 at 12:11 am

A mi me pasaba lo mismo al poner un include a un php con un par de funcioncitas (osea que no es sólo hacer echo o print de texto antes de header), leyendo este foro he visto que, colocando el include tras el print del header todo va sobre ruedas. Gracias a todos!!