8795 sujets

Développement web côté serveur, CMS

Bonjour,
J'ai un hébergement chez amen sur lequel je souhaite publier mon site. Cependant, j'ai un problème avec la fonction session_start();

J'ai créé un fichier très simple:
index.php

<php
session_start();
?>


encodé en utf-8.

J'obtiens les erreurs suivantes:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /htdocs/public/www/draft/index.php:1) in /htdocs/public/www/draft/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /htdocs/public/www/draft/index.php:1) in /htdocs/public/www/draft/index.php on line 2

Savez-vous d'où peut venir le problème ? De plus, il n'y a pas d'espace avec "<?php".

Merci par avance pour votre aide !
[code]
Modifié par olivier_nice (14 Dec 2009 - 12:02)
Salut,

Je pense qu'il s'agit de caractères BOM (Byte Order Mark) qui apparaissent en début de fichier. Quand on enregistre un fichier destiné au web en UTF-8, il faut l'enregistrer en UTF-8 sans BOM.
Tu peux voir ces caractères BOM en ouvrant ton fichier avec un éditeur hexadécimal, ils n'apparaitront pas dans le navigateur, même s'ils sont bien présents.
Une autre manière de corriger le problème est de copier/coller ton code dans un nouveau fichier correctement enregistrer et remplacer l'ancien fichier.