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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Configuration] problème d'echo en php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut [Configuration] problème d'echo en php
    Bonjour à tous,

    Voilà le problème auquel je suis confronté :
    En php5, j'exécute la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo 123456789123456789; ?>
    Sur un serveur, je reçois :
    alors que sur un autre, je reçois et je crois que ça engendre des effets de bord dans le reste de mon code.
    Sauriez-vous comment uniformiser la réponse, et quelle pourrait être la source du problème ?

    PS : le php.ini est identique sur les 2 serveurs
    D'avance, merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    j'ai peur de poser une question bête
    pourqui tu n'entoures pas ton nombre de guillemets pour l'echo?
    (ça le transforme en chaine de caractères et donc plus de pb d'affichage)


    sinon ça ne doit pas venir de php
    mais du serveur lui même et de sa manière de gérer les calculs
    car
    123456789123456789 = 1.23456789123456789E+17

    (celui qui de donne un résultat bizarre doit juste avoir un nombre plus limité de nombre qui peut "memoriser" je ne connais le terme dsl, bref il ne supporte pas plus de 12 chiffres pour la mantise)

    l'effet de bord c'est donc peut être une approximation dans les calculs par la suite...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    c'est en gérant un nombre, et non un string que je me suis aperçu du problème.

    Et effectivement, je pense que ça vient d'un problème de config, mais lequel vu que les php.ini sont identiques.
    y a-t-il un module ou une extension spécifique à la gestion des calculs ?

    Et l'approximation des calculs entraine bien des problèmes derrière.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    si c'est php (ça me surprendrait un peu, mais j'avoue que les calculs avec de grands nombres c'est pas courant en php)

    vu que les php.ini sont pareil.
    essaye d'utiliser phpinfo pour avoir les informations sur les modules installés
    (je me demande si ça ne se verrait pas d'ailleurs dans le php.ini, ça fait tellement longtemps que je n'y ai pas touché que j'ai peur de dire des bétises).

    et donc vu qu'au niveau php les serveurs sont pareils
    j'ai bien peur que ce soit la config du serveur en lui même et non pas de php qui gène..

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    Oui, c'est effectivement ce que je pense, mais j'avoue que je ne sais pas de quel côté regarder

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 85
    Points : 65
    Points
    65
    Par défaut
    Essaye déja de faire un phpinfo() sur les deux serveurs et regarde si la variable "precision" a la même valeur.

    Sinon ça vient surement d'une limite du système ou de la machine. Est-ce que ce sont des OS différents ? Architecture différentes ? (32/64 bits...)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    hum, piste intéressante.

    Après vérification, la variable precision (12 en l'ocuurence) est identique sur les 2 serveurs.
    Les OS sont effectivement différents : Debian Sarge et Gentoo.
    Quant à l'architecture, y'a t-il une commande pour en avoir le détail ?

    Cela voudrait-il dire qu'il faut recompiler PHP en omettant certains paramètres ?

  8. #8
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Lors des calculs ca a vraiment un incidence ?
    Je pense que php comprend les puissances de 10 donc ne devrait pas poser de problème ca reste qu'un bug d'affichage non?

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    123456789123456789 = 1.23456789123456789E+17

    or pour le serveur qui pose pb
    il affiche juste
    1.23456789123+17
    soit 12 (la précision) chiffres après la virgule

    il est donc possible que les chiffres suivants soient oubliés/négligés et 456.789 ce n'est pas forcément négligeable quand on enchaine les calculs.



    Xris pour savoir si c'est bien ça fait 2-3 calculs avec des grands nombres
    et tu compares le résultat avec
    - le vrai résultat
    - celui que tu aurais si tu ne gardes que 12 chiffres significatifs après la virgule

    si ça correspond au deuxième il y a bien un pb d'arrondi.


    ensuite si c'est bien ça, il faut voir si en modifiant la précision ça résoud ton pb (si les capacités (ou la config) du serveur le supportent...)

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    effectivement, en cascadant les calculs, les résultats sont incohérents, et il y a bien une erreur.
    Je pense que cela vient d'un serveur dont le noyau a été compilé pour un support 64 bits (gentoo) alors que l'autre est en 32 bits (debian).
    Je continue de creuser ...

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Points : 24
    Points
    24
    Par défaut
    encore plus étrange :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo gettype(0x9e3779b9); ?>
    me renvoie double (debian, 32 bits) et integer (gentoo, 64 bits).

    Je pense que mon problème vient également de là.
    Sauriez vous quelle est la cause de cette différence ?

Discussions similaires

  1. [Configuration] problème sur mon php.ini
    Par Giantrick dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 22/02/2007, 23h41
  2. [Configuration] Problème extension php
    Par beberd dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/12/2006, 11h39
  3. [Configuration] Problème avec le php.ini
    Par Vlacar dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/09/2006, 13h32
  4. [Configuration] Problème de config (php.ini)
    Par artotal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 17/08/2006, 01h54
  5. [Configuration] Problème de configuration PHP/apache sous windows
    Par r.jean.maurice1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/07/2006, 16h32

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