IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Incompatibilité de code dans 2 environnements


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Incompatibilité de code dans 2 environnements
    Bonjour,

    J'ai un script qui fonctionne bien sur un serveur mac et lorsque je le déplace vers un serveur debian chez mon hébergeur, je me retrouve avec une page blanche.

    Après quelques recherches, j'ai trouvé que c'est la ligne suivante qui bloque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $headers = <<<EOH
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 7bit
    X-Priority: 1 (Highest)
    From: $from
    EOH;
    Si je laisse cette ligne sur mon serveur Debian : page blanche
    Si je la retire, mon script s'exécute sur Debian.

    Je ne trouve pas d'erreur sur cette partie de code.

    Merci à vous.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    C'est étrange !
    Regardes ici C'est vieux mais est-ce que tu as essayé en changeant le 7 bits en 8 bits ?
    Dans tous les cas, je pense que c'est une clause du header qui pose problème à debian

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Bonjour,

    C'est étrange !
    Regardes ici C'est vieux mais est-ce que tu as essayé en changeant le 7 bits en 8 bits ?
    Dans tous les cas, je pense que c'est une clause du header qui pose problème à debian
    Merci j'ai essayé mais rien.

    De plus lorsque je mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ini_set("log_errors", 1);
            ini_set("display_errors", 1);
            error_reporting(E_ALL);
    je n'ai aucun message.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Est-ce que tu as essayé d'envoyer tes en-têtes un par un ?

  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Sur Mac, as tu essayé de voir le contenu de l'entête (firebug par exemple) pour voir comment c'est reçu (ou envoyé, peu importe).

    S'il ton entête comporte une erreur, Apache coté Mac corrigerait peut être tout ou en partie afin de renvoyer le contenu HTML pour au bout avoir quelque chose.
    Ca peu aider à corriger après. va savoir.

    Coté Débian, ça serait plus restrictif, Apache estimerait l'erreur trop grande pour renvoyer quoi que ce soit.

    As tu tenter le coup de tout supprimer l'entête. Là tu auras un rendu.
    Puis après rajouter ligne par ligne, et essayer à chaque fois.
    Et là, espérer trouver la ligne qui causerait problème.


    Pure hypothèse, mais vraiment.

    En tout cas j'en connais pas assez coté entête pour détecter une éventuelle erreur.
    Par ailleurs, il y a une inconnue, car on a pas la valeur de $from, l'erreur pourrait être là.

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci, C'est la présence du code qui pose problème pas son exécution.

    En effet c'est lors du chargement du script pour l'affichage du formulaire de saisie que ça ce passe alors que je n'utilise même pas ce code qui se trouve dans une fonction qui ne sera appelé que lorsque je validerai mon formulaire.

    Je regarde tout de même quelle partie bloque en laissant le code source ligne par ligne.

  7. #7
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    En testant ligne par ligne, dès le 1er essai ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $headers = <<<EOH
    EOH;
    J'ai donc modifié l'écriture de cette partie de code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $headers = "Content-Type: text/plain; charset=UTF-8; format=flowed";
        $headers .= "Content-Transfer-Encoding: 7bit";
        $headers .= "X-Priority: 1 (Highest)";
        $headers .= "From: ".$from;
    Et là tout va bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#]ajout code dans code behind
    Par liliprog dans le forum ASP.NET
    Réponses: 8
    Dernier message: 21/06/2005, 11h03
  2. Réponses: 9
    Dernier message: 16/05/2005, 17h43
  3. Incompatibilité de types dans un formulaire
    Par ahage4x4 dans le forum ASP
    Réponses: 3
    Dernier message: 03/05/2005, 15h39
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03
  5. Serveur Linux dans un environnement Windows
    Par Loth dans le forum Réseau
    Réponses: 6
    Dernier message: 29/05/2004, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo