El mensaje de error completo puede ser similar a este:
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by
Posible Solución 1
Este error se presenta habitualmente porque en el script PHP existen espacios o caracteres extraños antes o después del código PHP.
Para solucionarlo, debe revisar que no existan espacios, saltos de línea o caracteres antes de:
<?php
(donde comienza el script PHP)
Y que no existan también después de:
?>
(donde finaliza el script o archivo PHP)
Incluso esa etiqueta de cierre de código se puede omitir, no es necesaria.
Esto debe hacerse en el script que está generando el error. Sabrá cuál es pues el mensaje de advertencia menciona el script o archivo que está generando el error.
Posible Solución 2
El problema puede deberse también a cómo está grabado el archivo, es decir la codificación del archivo si está en: UTF-8 tienes que cambiar a ANSII para que este warning de PHP ya no aparezca…
- Abre con cualquier editor de código tu archivo.php.
- Luego dale a «Guardar como…»
- En la opción de codificación Selecciona «ANSII».
- y click Guardar.
- Problema resuelto.
Posible Solución 3
En algunas ocasiones el error puede aparecer porque la configuración de PHP en el servidor tiene activa (en On) la directiva display_errors
Al apagar (poner en Off) la directiva display_errors, el error puede desaparecer. Esta directiva se puede modificar mediante un archivo .htaccess o php.ini. Mediante .htaccess, se puede hacer poniendo una línea de este modo:
php_value display_errors "Off"
Ante alguna duda, lo más recomendable es pedir asistencia al proveedor de hosting o a la persona encargada de la administración del servidor o cuenta de hosting.
Posible Solución 4
session_start(); debe ser ejecutado antes de cualquier salida HTML porque envía headers HTTP al navegador. Llamar a un experto en PHP que edite el código para solucionarlo.