Sssions chez free, gros problème

Nirahiel -  
 Nirahiel -
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.
A voir également:

8 réponses

Nirahiel
 
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
Nirahiel
 
Arf, j'ai rien dit, le problème revient, je ne comprends vraiment pas !!!
0
toto
 
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
Nirahiel
 
Avec un éditeur héxa ??
Pourquoi faire ??
et de plus, j'en ai pas :(

Sur Wamp ca fonctionne bien pourtant
0
toto
 
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
Nirahiel
 
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
Nirahiel > Nirahiel
 
Apparament 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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto
 
ç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
toto
 
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
Nirahiel
 
Wow, c'est vraiment étrange, je ferme le navigateur, je le réouvre, et l'erreur à disparue :o
Vraiment bizarre
0
partage_info Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour

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