Cannot modify header information

Résolu
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010 - 5 févr. 2010 à 12:50
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010 - 5 févr. 2010 à 23:22
Bonjour à tous,

je viens à vous car je désespère (à peu près ;) ).

J'ai migré mon site sur un nouveau serveur, et je rencontre quelques difficultés, notamment avec le header. Je pense que ca doit venir de la conf apache, mais ca peu venir d'autre mais je vois pas quoi ...

Sur mon serveur A (ancien) cela marche niquel et sur le N (new) non il me met l'erreur :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/inf_user.php:1) in /var/www/backend/functions.php on line 33

Il faudra noté que c'est une pop-up (au cas ou si la page père envoie les envoie à la popup).

Voici les bout de code :

inf_user.php:
<?
require_once("backend/functions.php");
//require_once("themes/NB-TSpy/block.php");
dbconn();

loggedinonly();
?>[...]

functions.php: 
function dbconn($autoclean = false) {
global $mysql_host, $mysql_user, $mysql_pass, $mysql_db, $THEME, $LANGUAGE, $site_config;

if (!ob_get_level()) {
if (extension_loaded('zlib') && !ini_get('zlib.output_compression'))
ob_start('ob_gzhandler');
else
ob_start();
}

header("Content-Type: text/html;charset=$site_config[CHARSET]");

if (!function_exists("mysql_connect"))
die("MySQL support not available.");

    if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass))
    {
      die('DATABASE: mysql_connect: ' . mysql_error());
    }
     mysql_select_db($mysql_db)
        or die('DATABASE: mysql_select_db: ' . mysql_error());

unset($mysql_pass); //security

    userlogin(); //Get user info	

//Get language and theme


la ligne 33 de function est "header("Content-Type: text/html;charset=$site_config[CHARSET]");"


Je ne vois pas de quoi cela viens ... C'est très étrange.

Amicalement Rian

5 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
5 févr. 2010 à 13:36
Alors il faut chercher dans tes fichiers de configuration.
Il faut être à iso-configuration. Faut un compare de tes fichiers php.ini, httpd.conf et j'en passe.
S.
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
5 févr. 2010 à 18:40
Salut,

... j'allais poster la même réponse que Syndrael avant de lire son post ("php Cannot modify header information" dans google => 2 300 000 résultats !!)

Commence dans un premier temps par t'assurer que toutes les erreurs sont bien affichées en ajoutant (uniquement pour le debug) tout en haut de tes scripts :
ini_set('display_errors', 1);
error_reporting(-1);


Tu as peut être un avertissement qui n'est pas affiché, comme le <? (à remplacer par <?php)


Cordialement,

Kohntark -
3
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
5 févr. 2010 à 13:10
As-tu cherché sur ce site ? As-tu cherché sur Google ?
Honnêtement ce problème a été posé au moins 200 fois, avec à chaque fois soit une réponse soit mon discours..
Donc cherche si tu n'as pas un retour-chariot caché ou autre caractère que tu n'aurais pas vu.
Le Header fournit une erreur quand il est demandé après qu'il y ait écriture dans ta page.
S.
0
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
5 févr. 2010 à 13:29
Je n'ai PAS MODIFIER le fichier entre la migration pourquoi marche t-il sur un serveur et pas sur un autre ?

Et oui malheureusement pour moi j'ai déjà cherché, j'ai pas pour habitude de poster sur un forum dès la 1er interrogation car il faut attendre les réponses des gens ;)

Mais la si je poste, c'est que je suis a cours d'idées. Désolé
0

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

Posez votre question
lp0683 Messages postés 20 Date d'inscription jeudi 30 novembre 2000 Statut Membre Dernière intervention 21 mars 2010
5 févr. 2010 à 23:22
Je vous remercie pour ces info, surtout pour le debugage ... A vrai dire j'en ai pas eu besoin, mais je suppose que c'était ca en effet, mon précédent serveur devait être plus laxiste, et il n'affiché pas les avertissements et laissé passé, mais sur mon nouveau serveur apache, il n'a pas laissé passé l'erreur en effet, il n'a pas aimé l'ordre de certaines lignes dans mon code qui a mon avi en debugant, ca m'aurai permis de m'en rendre compte.

Je vous remercie donc pour votre support, et syndrael, a mon avi, ca viens soit de la version apache, soit de la conf en effet, je n'ai pas encore tout comparé mais c'est claire que ca doit venir de la puisque il a laissé cette erreur sur mon ancien.

Amicalement
0
Rejoignez-nous