Sssions chez free, gros problème

Bonjour,
j'ai un site sur free, et je suis en train de faire des tests, seulement ...
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/140/sdb/b/9/nirahiel/test/includes/start.php:1) in /mnt/140/sdb/b/9/nirahiel/test/includes/start.php on line 2


Il semblerai que du code soit envoyé AVANT le session_start, mais toutes mes pages commencent par :
<?php
require("includes/start.php");
?>
[...]

et dans start.php

<?php
session_start();
?>
[...]

et ca ne marche pas :(

Help !! Merci d'avance.
Configuration: Windows XP
Firefox 3.0.3

8 réponses

  1. Ah il semblerai que Free n'aime pas les session_start dans des includes, j'ai mis sssion_start directement dans chaque page, avant le 1er include et ca fonctionne, bizarre !!
    0
    1. Arf, j'ai rien dit, le problème revient, je ne comprends vraiment pas !!!
      0
      1. Bonjour

        Le session_start est tout à fait possible dans un include chez free, il y en a dans mon site.
        D'après le message d'erreur, tu sors quelque chose dès la première ligne de start.php. Peux-tu regarder le début de ton fichier evec un éditeur hexadécimal pour être vraiment sûr de ce qu'il contient ?
        0
        1. Avec un éditeur héxa ??
          Pourquoi faire ??
          et de plus, j'en ai pas :(

          Sur Wamp ca fonctionne bien pourtant
          0
      2. L'éditeur hexa, c'est pour voir s'il y a des caractères que les éditeurs de texte n'affichent pas.
        Peux-tu copier-coller les deux ou trois premières lignes de ton start.php ?
        0
        1. Voila l'index.php :
          <?php
          require("includes/start.php");
          ?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>[...]


          et le start.php

          <?php
          session_start();
          //connexion a  la base de données
          if($_SERVER['REMOTE_ADDR']!="127.0.0.1") {
          	$server = "sql.free.fr";
          	$user = "nirahiel";
          	$pass = "***********"; //caché :)
          	$database = "nirahiel";
          } else {
          	$server = "localhost";
          	$user = "root";
          	$pass = "";
          	$database = "nxunlimited";
          }
          mysql_connect($server,$user,$pass) or die(mysql_error());
          mysql_select_db($database) or die(mysql_error());
          
          //maintenant on includes les fonctions
          include("includes/regieclic.php");
          include("includes/misc.php");
          include("includes/member.php");
          
          if(isset($_SESSION['member'])) {
          	$member = unserialize($_SESSION['member']);
          } else {
          	$member = new member();
          }
          ?>
          0
        2. @NirahielApparament voici ce que ca donne en HEX (les premières lignes)

          3c 3f 70 68 70 0d 0a 73 65 73 73 69 6f 6e 5f 73 74 61 72 74 28 29 3b 0d 0a 2f 2f 63 6f 6e 6e 65 78 69 6f 6e 20 61 a0 20 6c 61 20 62 61 73 65 20 64 65 20 64 6f 6e 6e e9 65 73 0d 0a 69 66 28 24 5f 53 45 52 56 45 52 5b 27 52 45 4d 4f 54 45 5f 41 44 44 52 27 5d 21 3d 22 31 32 37 2e 30 2e 30 2e 31 22 29

          Ici on vois bien que le 3c 3f 70 68 70 correspond à <?php
          0
      3. ça a effectivement l'ai correct. As-tu vérifié aussi le début de ton index.php?

        Question idiote : n'aurais-tu pas un autre include ou require start.php ? Peut-être caché dans un autre include ? Je sais, ça marchait avec Wamp, mais quand on ne trouve pas, il faut bien remettre en cause ce qu'on croyait sûr...

        Tu as dit aux messages 2-3 que tu avais aussi le problème en mettant ton session_start directement dans chaque page, peux-tu recopier le message d'erreur que tu as dans ce cas, par exemple sur index.php ?
        0
        1. Je pense qu'il est déjà créé, sinon il y aurait un premier message d'erreur :
          Warning: session_start() [function.session-start]: open(/mnt/.../sessions/sess_3e7050b60d8f398aa238150afc7325d9, O_RDWR) failed: No such file or directory (2) in /mnt/148/sda/2/b/xxxx/index.php on line 2
          (je viens de faire l'essai)
          0
          1. Wow, c'est vraiment étrange, je ferme le navigateur, je le réouvre, et l'erreur à disparue :o
            Vraiment bizarre
            0
            1. Bonjour

              essaies de créer un dossier "sessions" dans la racine (root) de ton site free.
              -1