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 :

[php5] un cas bien bizzare


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut [php5] un cas bien bizzare
    Salut à tous
    Je me permer de déposer sur ce forum car j'ai un petit PB de variable bien bizzare.
    Je dévelloppe depuis près de 7 ans et je n'ai jamais eu ce phénomène.

    J'ai installé depuis peut un serveur avec Apache version 2.2.0 et PHP Version 5.1.6.
    auparavant il etait avec php 4 .....

    depuis cette mise à jour j'ai les variables tel que :
    $LANG['LANGUAGE'] = 'Francais';
    qui quand je les affiches
    echo " test :".$LANG['LANGUAGE'];

    Seul la premiére lettre apparait ( F )

    Si j'utilise $LANG au lieu de $LANG['LANGUAGE']
    tout vas bien

    J'ai donc pour faire un test installé WAMP5 sur une machine XP et la tout vas bien mise à part que la version est : Apache/2.2.4 (Win32) PHP/5.2.1

    Je ne pense pas que cela doit venir d'un PB de version.
    J'ai donc vérifié les 2 php.ini est mis les même lignes, et mon PB est toujours présent.

    Je fait donc appel à vous afin d'en connaitre la raison, et j'espére la résoudre.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    C'est bizarre ton truc !

    J'ai testé sur un Apache 2.0.52 / PHP 4.3.9 et sur un Apache 2.2.0 / PHP 5.1.2 et il affiche bien :

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Je pense à une chose :

    J'ai essayé juste avec ce bout de code :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $LANG['LANGUAGE'] = 'Francais';
    echo " test :".$LANG['LANGUAGE'];
    ?>
    et je n'ai pas d'erreur.

    Pourrais tu le tester avec seulement ça dans un fichier PHP pour voir ?

    Ce ne serait pas possible que tu aies une erreur plus haut dans ton code ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Je tiens en premier lieu à te remercier de ta réponse aussi rapide.

    Ton intérogation est tout à fait logique mais c'est la premiére chose que j'ai fait.
    J'ai créé une page test avec seulement le code pour éviter tout doute toujours pareil.

    c'est vraiment bizzare mais promis, c'est réel

    PHP5 etant plus pointu avec les variables, n'y aurait il pas une valeur dans php.ini ou ailleur qu'il faudrait modifier ???

  5. #5
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Peut-être que la variable $LANG existe déjà, que c'est uen constante? allez savoir
    Je vais tester aussi, je suis aussi sur Wamp5.

    Edit : Ca passe...
    Ma version :Apache/2.0.59 (Win32) PHP/5.2.0

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Citation Envoyé par christ84
    Seul la premiére lettre apparait ( F )

    On dirait plutôt qu'il affiche sur ton serveur :

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Exactement N1bus cela ressemble à cela, mais je ne lui demande pas

    Tout à fait haltabush cela fonctionne bien avec Wamp5 Apache/2.2.4 et PHP/5.2.1 mais pas avec Apache version 2.2.0 et PHP Version 5.1.6 sous Fédora

    Avec cette histoire je commence à avoir des cheveux blanc malgrès mes 39 ans
    nonnnnn je n'en veut pas je suis trop jeune

  8. #8
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    As-tu essayé de faire un print_r($GLOBALS) dans un script complètement distinct de ton site, pour voir si la variable n'existe pas déjà ?
    As-tu essayé en mettant une autre langue ? En changeant le nom de la variable ?
    J'ai essayé chez moi, ça marche normalement (Apache 2.2 sous win2k).
    C'est quand même bien étrange en effet.

  9. #9
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    Citation Envoyé par christ84
    Ton intérogation est tout à fait logique mais c'est la premiére chose que j'ai fait.
    J'ai créé une page test avec seulement le code pour éviter tout doute toujours pareil.
    Dans ces cas là, je pense qu'il s'agit clairement d'un bug de php. As tu essayé de chercher sur le tracker de bug de php.net ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Non je derais même jamais utiliser, bon j'y vais et on verra bien

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Citation Envoyé par guidav
    As-tu essayé de faire un print_r($GLOBALS) dans un script complètement distinct de ton site, pour voir si la variable n'existe pas déjà ?
    As-tu essayé en mettant une autre langue ? En changeant le nom de la variable ?
    J'ai essayé chez moi, ça marche normalement (Apache 2.2 sous win2k).
    C'est quand même bien étrange en effet.
    Tu as bien vu guidav [LANG] se trouve dans les globals au coté de [REMOTE_ADDR] [LD_LIBRARY_PATH] et tout et tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Array ( 
       [GLOBALS] => Array *RECURSION* [_ENV] => 
          Array ( 
             [LD_LIBRARY_PATH] => 
             [PATH] => /sbin:/usr/sbin:/bin:/usr/bin 
             .......... 
             [LANG] => C 
             [REMOTE_ADDR] 
             ..........
          ) ..........
       [HTTP_ENV_VARS] => 
          Array ( 
             [LD_LIBRARY_PATH] => 
             [PATH] => /sbin:/usr/sbin:/bin:/usr/bin 
             .......... 
             [LANG] => C 
             [REMOTE_ADDR]
              ..........
          )
       [LANG] => C
    )
    mais y a t'il la possibilité de la supprimer ou remplacer ou plutôt dans quel fichier cela se trouve ???

  12. #12
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    Si c'est une variable d'environnement, ça va être difficile de la remplacer.
    Tu n'as pas installé un module PHP en trop qui l'introduirait sur ton serveur ?
    Sinon je ne vois qu'une solution, renommer ta variable dans ton application. En espérant que ça ne soit pas trop contraignant à faire

  13. #13
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    ce ne serait pas mieux plutôt de renommer la tienne ? (genre $xLANG )

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Vous avez tout à fait raison, mais ce qui me chagrine, c'est qu'elle semble n'apparaitre que sur mon serveur, donc j'aimerais connaitre d'ou elle sort

    Car dans la plupart des scripts multilanguage utilise ce type de variable $LANG[....

    Cela éviterait de résoudre un PB en le contournant, et de se coucher un peut moins C.....

    Y as t'il un moyen de connaitre quel module ajoute quelles variable ??? je sais je suis plein de question bizzare

    Edit : Il semblerait quelle provient de Webmin ;(

  15. #15
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Il semblerait quelle provient de Webmin ;(
    J'ai webmin sur mes 2 serveurs et je n'ai pas l'erreur.

    ça pourrait pas venir d'un module php ?
    Tu peux nous envoyer un phpinfo() ?

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Citation Envoyé par N1bus
    J'ai webmin sur mes 2 serveurs et je n'ai pas l'erreur.

    ça pourrait pas venir d'un module php ?
    Tu peux nous envoyer un phpinfo() ?
    As tu dans PhpInfo dans l'avant dernier tableau nommé Environment la ligne : LANG ainsi que dans le dernier tableau nommé PHP Variables ?????

  17. #17
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Non je n'ai pas de ligne LANG dans ces 2 tableaux.

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Voici les 2 derniers tableaux ou LANG apparait

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Environment
    
                    Variable	Value
            LD_LIBRARY_PATH 	no value
            PATH 	/sbin:/usr/sbin:/bin:/usr/bin
            SERVER_REALROOT 	/usr/libexec/webmin
            PWD 	/usr/libexec/webmin/apache/
    
            LANG 	C
    
            REMOTE_ADDR 	192.168.1.51
            HOME 	/root
            SHLVL 	2
            _ 	/usr/sbin/httpd
    
    PHP Variables
                    Variable	Value
            PHP_SELF 	/phpinfo.php
            _SERVER["PERL5LIB"]               /usr/share/awstats/lib:/usr/share/awstats/plugins
            _SERVER["HTTP_HOST"]	-------
            _SERVER["HTTP_USER_AGENT"]	Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
            _SERVER["HTTP_ACCEPT"]	text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
            _SERVER["HTTP_ACCEPT_LANGUAGE"]	fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
            _SERVER["HTTP_ACCEPT_ENCODING"]	gzip,deflate
            _SERVER["HTTP_ACCEPT_CHARSET"]	ISO-8859-1,utf-8;q=0.7,*;q=0.7
            _SERVER["HTTP_KEEP_ALIVE"]	300
            _SERVER["HTTP_CONNECTION"]	keep-alive
            _SERVER["PATH"]	/sbin:/usr/sbin:/bin:/usr/bin
            _SERVER["SERVER_SIGNATURE"]	<address>Apache/2.2.0 (Fedora) Server at ------- Port 80</address>
            _SERVER["SERVER_SOFTWARE"]	Apache/2.2.0 (Fedora)
            _SERVER["SERVER_NAME"]	-------
            _SERVER["SERVER_ADDR"]	192.168.1.200
            _SERVER["SERVER_PORT"]	80
            _SERVER["REMOTE_ADDR"]	192.168.1.51
            _SERVER["DOCUMENT_ROOT"]	/var/www/html
            _SERVER["SERVER_ADMIN"]	root@-----
            _SERVER["SCRIPT_FILENAME"]	/var/www/html/phpinfo.php
            _SERVER["REMOTE_PORT"]	3169
            _SERVER["GATEWAY_INTERFACE"]	CGI/1.1
            _SERVER["SERVER_PROTOCOL"]	HTTP/1.1
            _SERVER["REQUEST_METHOD"]	GET
            _SERVER["QUERY_STRING"]	no value
            _SERVER["REQUEST_URI"]	/phpinfo.php
            _SERVER["SCRIPT_NAME"]	/phpinfo.php
            _SERVER["PHP_SELF"]	/phpinfo.php
            _SERVER["REQUEST_TIME"]	1171634929
            _SERVER["argv"]	Array
            _SERVER["argc"]	0
            _ENV["LD_LIBRARY_PATH"]	no value
            _ENV["PATH"]	/sbin:/usr/sbin:/bin:/usr/bin
            _ENV["SERVER_REALROOT"]	/usr/libexec/webmin
            _ENV["PWD"]	/usr/libexec/webmin/apache/
    
            _ENV["LANG"]	C
    
            _ENV["REMOTE_ADDR"]	192.168.1.51
            _ENV["HOME"]	/root
            _ENV["SHLVL"]	2
            _ENV["_"]	/usr/sbin/httpd


    Merci pour ton aide

  19. #19
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Autant pour moi :

    J'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LANG = C / dans le tableau ENVIRONNEMENT
    et 
    _ENV["LANG"] = C / dans le tableau PHP Variables
    mais c'est sur un RHEL4 et PHP4. et je n'ai pas eu l'erreur

    Tu n'aurais pas modifié quelque chose à l'install de Fedora ?

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Par défaut
    Au niveau de l'install, rien de bien particulier.

    Mais je commence à me demander si je ne cherche pas dans une mauvaise direction
    malgrés que en changeant LANG par LAN par exemple dans le code tout fonctionne ce qui me fait dire qu'il y a peut être une relation avec cette Globale LANG

    $LAN['LANGUAGE'] = 'Francais';
    echo " test :".$LAN['LANGUAGE'];

Discussions similaires

  1. Cas bien précis : réception de données
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 12/02/2013, 12h51
  2. lisez bien la question avant de répondre cas tordu :)
    Par frp31 dans le forum Administration système
    Réponses: 3
    Dernier message: 15/12/2011, 12h13
  3. Pb avec CreateProcessAsUser dans un cas bien precis
    Par kassimsarr dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 14/11/2011, 02h26
  4. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 15h43
  5. [Malloc - Free] Comment bien les utiliser dans ce cas ?
    Par DOC doc doc dans le forum Débuter
    Réponses: 6
    Dernier message: 06/08/2007, 15h39

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