Error: Headers already sent


Es común no saber de dónde proviene el error "Headers already sent" cuando lo vemos en el log de errores o en alguna parte del sitio como tal. Sin embargo, típicamente el error proviene porque:

Las funciones que envían o modifican HTTP Headers deben ser invocadas ANTES de cualquier output.

Algunas funciones para modificar los HTTP Headers son:

  •  header / header_remove
  •  session_start / session_regenerate_id
  •  setcookie / setrawcookie


Un Output puede ser:

  • Sin intención:
  • Espacio en blanco ANTES de <¿php or después de ?>
  • Mensajes de Error Previos
  • UTF-8 Byte Order Mark (caracter invisible a la mayoría de los procesadores de texto pero que implica error)

 

  • Intencionales:
  • print, echo o alguna otra función que produzca un Output
  • Secciones <html> antes del código <?php


¿Cómo encontrar el dónde ocurrió el Output prematuro?

Tendremos un error como éste:

Warning: Cannot modify header information - headers already sent by (output started at /home/usuario/public_html/index.php:2) in /home/usuario/public_html/index.php on line 17.

Punto 1: En dicho mensaje de error podemos saber que en la línea 17 es donde el Header es invocado con fallo.

Punto 2: Donde comienza el parentésis con la mención del Output encontraremos la línea donde está el Output prematuro. En este caso, en la línea 2. 

Es importante definir con tu programador o diseñador cuál es la razón concreta de tu caso.

  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

500 Internal Server Error

¿Tu sitio muestra el error "500 Internal Server Error", y no sabes cómo resolverlo?Aquí te...

User Over Quota

  En este caso el problema es que tu cuenta completa de cPanel y/o el buzón específico de email...

503 Error

¿Cuáles son las causas del Error 503? Normalmente el problema se plantea así:Si intentas enviar...

403 Forbidden

El Error 403 normalmente tiene relación con un contenido prohibido por el servidor (o la carpeta...

IP Bloqueada

El Bloqueo de una IP concreta ocurre mayormente por los siguientes dos escenarios:1) Se ha...