Cuando una web pierde las cabeceras

El otro día estaba modificando el código de una web, introduciendo una redirección, todo funcionaba correctamente hasta que al subir el archivo modificado via ftp, comenzaron a aparecer warnings de las cabeceras muy parecidos a los siguientes:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23
Warning: Cannot modify header information - headers already sent by (output started at /some/file.php:12) in /some/file.php on line 23

Estos errores hicieron que la web en el mejor de los casos (Firefox), se viera con los warnings al principio, mientras que en Chrome y Explorer se quedaba recargando continuamente, algo inaceptable, de modo que pensé que eran espacios en blanco (aunque no había escrito nada antes de los típicos session_start() o send_cookie()), pero no encontraba el fallo, buscaba por Internet y por todas partes hablaban de los malditos espacios en blanco, que es un error común, pero que muchas veces no corresponde con el caso, pero entonces leyendo algunos artículos supuse que podía ser que el editor de texto hubiera dado formato al archivo, de modo que decidí probar a guardarlo de nuevo forzando a que fuera en formato ANSI y a resubirlo, y todo volvía a funcionar correctamente, de modo que la solución pasa por:

  • Comprobar que no hay espacios en blanco (siempre puede ocurrir);
  • Comprobar que el archivo esta guardado en codificación ANSI (Solución más común de la que se puede imaginar).
  • Mirar que no se estén enviando efectivamente ya las cabeceras, con este simple código adaptable a tu sistema:
<?php
session_start();
if(isset($_SESSION['usuario']))
    {
        $usuario = $_SESSION['usuario'];
        echo "$usuario";
    }
else
    {
    }
?> 

Para guardar un archivo con codificación ANSI es tan fácil como abrirlo con el bloc de notas de windows y darle a guardar como, eligiendo la codificación ANSI.
El bloc de notas se encuentra en:

Inicio > Todos los Programas > Accesorios > Block de Notas.

ansi

Aunque es recomendable utilizar algún otro editor de texto más profesional como SUBLIME, donde para guardar en ANSI debemos de utilizar la opción de codificación: Windows 1252