Menu

Bug (2) session_start(): Cannot send session cache limiter - sur Arfooo

Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
- - Dernière réponse : clicinfo62
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
- 5 févr. 2019 à 10:37
Bonjour,

Sur un annuaire arfooo que j'essai de convertir en php 7
j'ai un problème de session

(2) session_start(): Cannot send session cache limiter - headers already sent (output started at /homepages/10/d337896311/htdocs/******/components/htmlpurifier/library/HTMLPurifier/Token/Tag.php:1) Session.php line 39 29-1-19 19:24

visiblement ça m'empêche également de m’identifier sur l interface

l'adresse si besoin
www.annuaire-web-france.fr


et une page ou on rencontre le problème

http://www.annuaire-web-france.fr/etudier-a-l-etranger-s907.html

merci



Configuration: Windows / Chrome 71.0.3578.98
Afficher la suite 

Votre réponse

7 réponses

Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859
0
Merci
Bonjour,

Le message "headers already sent " signifie qu'il y a déjà des choses affichées avant l'appel de la fonction php
 session_start() 


EDIT : c'est toi qui effectue les modifications ?

Dans ce cas il faut que tu regardes où est placée la ligne de code en question et que tu la déplaces au tout début de ton fichier php



Cordialement, 
Jordane                                                                 
jordane45
Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
Donc dans le fichier Tag.php à la ligne 39 ... ( à remettre en ligne 1 )
Commenter la réponse de jordane45
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
0
Merci
oui car mon hebergeur m oblige a passer en php 7
j'étais en php5.6
Commenter la réponse de clicinfo62
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
0
Merci
j'arrive même plus a m'identifier sur mon site la est le problème
jordane45
Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
Commence par nous montrer ton code ... sans ça... pas d'aide possible.

NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage afin d'avoir la coloration syntaxique)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
.
Commenter la réponse de clicinfo62
Messages postés
6333
Date d'inscription
mardi 15 mai 2012
Dernière intervention
22 février 2019
973
0
Merci
Bonjour

output started at ... g.php:1 signifie que les sorties ont été commencées dès la première ligne de ton fichier php.
99 chances sur 100 que tu as sauvegardé en utf8 AVEC BOM alors qu'il faut le faire SANS BOM.
Regarde bien dans les paramètres de ton éditeur de texte, tu as sûrement une option pour choisir.

Mais ne déplace pas ta ligne 39 vers ta ligne 1, tu peux être sûr que ça ne va pas marcher. D'ailleurs, il faudrait remonter la ligne 39 du fichier Session.php avant la ligne 1 du fichier Tag.php, ce qui n'a aucun sens.

Si le BOM ne te dit rien, tu trouveras des infos sur Internet. Disons que c'est un caractère ajouté en début de fichier à l'insu de ton plein gré, ce qui t'empêche d'utiliser les en-têtes HTTP ( cookies, session, redirection ne marchent plus)
Commenter la réponse de le père.
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
0
Merci
Voici le fichier
Tag.php

<?php

/**


* Abstract class of a tag token (start, end or empty), and its behavior. */class HTMLPurifier_Token_Tag extends HTMLPurifier_Token{    /**     * Static bool marker that indicates the class is a tag.     *     * This allows us to check objects with <tt>!empty($obj->is_tag)</tt>     * without having to use a function call <tt>is_a()</tt>.     */    public $is_tag = true;    /**     * The lower-case name of the tag, like 'a', 'b' or 'blockquote'.     *     * @note Strictly speaking, XML tags are case sensitive, so we shouldn't     * be lower-casing them, but these tokens cater to HTML tags, which are     * insensitive.     */    public $name;    /**     * Associative array of the tag's attributes.     */    public $attr = array();    /**     * Non-overloaded [/download/pobierz-558-bridge-constructor constructor], which lower-cases passed tag name.     *     * @param $name String name.     * @param $attr Associative array of attributes.     */    public function __construct($name, $attr = array(), $line = null, $col = null) {        $this->name = ctype_lower($name) ? $name : strtolower($name);        foreach ($attr as $key => $value) {            // normalization only necessary when key is not lowercase            if (!ctype_lower($key)) {                $new_key = strtolower($key);                if (!isset($attr[$new_key])) {                    $attr[$new_key] = $attr[$key];                }                if ($new_key !== $key) {                    unset($attr[$key]);                }            }        }        $this->attr = $attr;        $this->[/download/telecharger-34098305-line line] = $line;        $this->col  = $col;    }}// vim: et sw=4 sts=4
jordane45
Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
Qu'est-ce qui n'était pas clair dans le lien que je t'ai donné concernant la façon de poster ton code ??

Et comme le suggère Le père, vérifie l'encodage de tes fichiers
Voir chapitre 1 de ce lien : https://www.commentcamarche.net/faq/47069-html-php-caracteres-accentues-et-l-utf8

.
Commenter la réponse de clicinfo62
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
0
Merci
le fichier session.php
Sachez que ça me le fait pas sur toute les pages
merci
je connais uniquement les bases en php ,j 'ai jamais utilisé session

<?php
/**


* Arfooo *  * @package    Arfooo * @copyright  Copyright (c) Arfooo Annuaire (fr) and Arfooo Directory (en) *             by Guillaume Hocine (c) 2007 - 2010 *             [http://www.arfooo.com/] (fr) and [http://www.arfooo.fr/] (php7) * @author     Guillaume Hocine & Adrian Galewski * @license    [http://creativecommons.org/licenses/by/2.0/fr/] Creative Commons *//** * Class to handle PHP Session feature */class Session extends Object{    private static $instance = null;    /**     * Returns an instance of Session object     * @return Session     */    public static function getInstance()    {        if (self::$instance === null) {            self::$instance = new self();        }        return self::$instance;    }    /**     * Generates the standard Session object     */    private function __construct()    {        session_start();        if ($this->get("role") == "administrator"            || $this->loginUser($this->get("email"), $this->get("password"), "email", $this->get("role"))) {            /* verified */        } else {            $request = Request::getInstance();            if ($request->getCookie("rememberMe")                && $this->loginUser($request->getCookie("email"), $request->getCookie("password"))) {            /* verified */            } else {                $this->set("role", "guest");            }        }    }    /**     * Login user and store user informations in session     * @param  string $login User login     * @param  string $pass User password     * @param  string $mode authorization method email/login     * @param  string $role webmaster/administrator/admin     * @return boolean     */    function loginUser($login, $password, $mode = "email", $role = "webmaster")    {        if (empty($login)) {            return false;        }        $users = new UserModel();        $c = new Criteria();        if ($mode == "login") {            $c->add("login", $login);        } else {            $c->add("email", $login);        }        $c->add("password", $password);        $c->add("role", $role);        $c->add("active", "1");        $row = $users->find($c);        if (!empty($row)) {            foreach ($row as $key => $value) {                $this->set($key, $value);            }            if (empty($row['login'])) {                $this->set("login", $row['email']);            }            return true;        }        return false;    }    /**     * Delete session variable     * @param string $key Name of key which should be deleted     */    public function del($key)    {        unset($_SESSION[$key]);    }    /**     * Set session variable     * @param string $key Name of variable     * @param string $value Value     */    public function set($key, $value)    {        $_SESSION[$key] = $value;    }    /**     * Get session variable     * @param string $key Name of variable     */    public function get($key)    {        return isset($_SESSION[$key]) ? $_SESSION[$key] : false;    }    /**     * Destroy session, unset all variables     */    public function destroy()    {        $_SESSION = array();        if (isset($_COOKIE[session_name()])) {            Response::getInstance()->setCookie(session_name(), '', time() - 42000, '/');        }        session_destroy();    }    /**     * Return array with session variables     */    public function toArray()    {        return $_SESSION;    }}
jordane45
Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
Je le répète .. pour poster du code sur le forum correctement ... merci d'appliquer le contenu de ce lien

https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Commenter la réponse de clicinfo62
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
0
Merci
voila désolé
jordane45
Messages postés
24637
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 février 2019
1859 -
sauf que tu as édité les balises de code sans recoller le code.
Comme tu peux le voir, tout est sur une seule ligne.. c'est illisible.
clicinfo62
Messages postés
9
Date d'inscription
mercredi 18 juillet 2018
Dernière intervention
5 février 2019
-
maintenant si, je cherche quelqu"un qui a un annuaire arfooo en php 7
car 1and1 oblige a passer en php 7 et mon actuel était en php 5.6
merci
Commenter la réponse de clicinfo62