Solucion al Cannot modify header information – headers already sent by… de WordPress

Un error muy común en los archivos php es el de Cannot modify header information – headers already sent by… Y aca ponen el archivo que genera esa error.

Una vez, recuerdo, abandone un proyecto que estaba haciendo porque no lo pude solucionar. Cuando buscamos información referente a este error siempre nos encontramos con lo mismo, fijate que tu script no haga ninguna salida antes de crear un cookie (o de usar una funcion referida a los headers) y fijate que no halla espacios en blanco antes del <?php o despues del ?>. Pero hay una cosa mas.

No recuerdo donde lo lei, hace unos meses ya, si nuestro archivo esta guardado en una codificación de caracteres distinta de ANSI nos va a dar el mismo error. Supuestamente se toma el cambio de codificación de caracteres como una salida.

Bueno el tema es que hoy me econtre con ese problema en una instalación de WordPress. Me decia: “Cannot modify header information – headers already sent by (output started at chorizo/wp-config.php)” Agarre el archivo, me fije que no hubiera espacios al principio o al final (es que lo estuve toqueteando), y siguio dando problemas. Agarre el viejo y querido Notepad, abri el archivo y le di al guardar como, ahí eleji la codificación ANSI. ¿Y saben que?… salio andando.

254 thoughts on “Solucion al Cannot modify header information – headers already sent by… de WordPress

  1. Williams

    Tienes toda la razon, basta con abrirlo con el Notepad y guardarlo en formato ANSI.
    Solo una cosa mas, yo descargue el WordPress en formato .TAR, quizas se deba por esto la codificacion.

  2. Diego

    Había una F.A.Q en la que se comentaba cómo usar la función header habiendo mandado código al navegador:
    Poner antes que nada en el script:
    al inicio

    al final
    Código PHP:

  3. DANIEL DOMINGUEZ

    Excelente solucion , estaba configurando un casino online y justo esto fu parte de la solucion

  4. Fredy

    Muchas Gracias por tu ayuda, una solcuion rapida y sencilla, me has ahorrado muchas horas buscando el error, fuera bueno que ese tipo de errores tubieran un mensaje mas claro para ir directamente al problema. Muchas Gracias nuevamente.

  5. Sergio Marcio

    Estuve toda la tarde rompiéndome la cabeza con ese problema. ¡Me salvaste, muchas gracias por el tip y la excelente explicación!

  6. nestor gelezauskas

    Gracias, no recordaba como lo había solucionado una vez y bueno desde tu página pude resolverlo.

  7. Miguel

    Gracias! recien empiezo y fue fantastico encontrar esta solucion … pense k me iba a demorar como en otras ocasiones … =)

  8. Mariano

    Te agradezco tu articulo, me sirvio muchisimo ya que en otros foros no resultaron sen tan claros. Muchas gracias

  9. Jonathan Pereira

    Mi aplicacion funciona ok en mi maquina como localhost pero cuando la subo a un hosting aparece el error y la verdad no se que hacer y no se si me puedan ayudar. gracias.

  10. Pepe Cat

    Jajaja… increible… te debo una paella… no sabes la de tiempo que he perdido buscando espacios en blanco y probando mil y una soluciones de los “gurus” de algunos foros… muchisimas gracias…

  11. Hernan

    Muchas gracias por el aporte.
    También se puede usar el programa VIM para solucionar esto, (se instalan diferentes versiones con el paquete, utilizar VIM easy). Hay que borrar los espacios que el programa resalta y luego guardar el archivo, como el programa tambien los guarda en ANSi al igual que el bloc de notas todos los problemas con los HEADERS quedan solucionados

  12. sazer

    si es una buena solucion, la otra es colocar despues del <?php lo siguiente quedando asi
    <?php
    ob_start("ob_gzhandler");
    esto lo que hace es, NO enviar nada hasta que cargue la pagina en su totalidad por lo que no siempre es lo que se quiere.
    esto del los header tambien pasa cuando trabajas en windows y luego colocas tu aplicacion en un servidor linux

  13. Troyar

    Pues ami no me funciono… yo ya tenia el archivo en ANSI y me pasa… me pasa con un archivo que uso atraves de un include, puede ser por eso?????

    saludos a todos

  14. Shadow

    La solución con ob_start(“ob_gzhandler”); es también muy útil, a mi me funcionó con ella.

    Saludos

  15. josee

    graciias! lo de ANSI venía por defecto.. lo que si ha funcionado ha sido los espacios fuera de la opertura y cierre del php “”.. tanto en la primera y última como en las intermedias del documento :) Muchas gracias ^^

  16. hyban77

    joder… mira que es fácil cuando se sabe!! muchas gracias porque si ya cuando empiezas te encuentras problemas es desesperante!

  17. Paco

    Joerrr, tio, Muchas gracias, perfecto!!! era eso!. Y los otros blogs mandándote hacer chorradas… yo estaba usando el Notepad++

    Gracias de nuevo.

  18. Juan Diaz

    ¡Gracias!, simplemente puedo darte las gracias, me has salvado de un trastorno que me estaba volviendo loco. No es la primera vez que instalo un Blog con WordPress a amigos y NUNCA me había pasado.

    ¡Me salvaste!, te debo una ^_^

  19. Marco Polo Jácome

    Ciertamente el problema :
    Warning: Cannot modify header information – headers already sent by (output started at

    Para usar setcookie debe estar limpio de código HTML.

    El archivo que generá la cookie

    Ya que puede causar problema con la session_start();
    La funcion siempre va en la segunda línea de código.

    Para Cannot modify header information no debe existir código HTML
    antes de generar las cookie. Por ejemplo ;
    <?php
    echo"sesion”;
    setcookie();
    ?>
    Lo anterior marcaria el error
    Cannot modify header information….

    recad.org

  20. Argenis Rodríguez

    Muchas gracias!!! Funcionó a la perfección!!! Solo recuerden también verificar la solución en todos los archivos php que se llaman con la función “include”

Leave a Reply