Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2007, 22h42   #1
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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.
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2007, 23h44   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
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 :
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 00h03   #3
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Je pense à une chose :

J'ai essayé juste avec ce bout de code :
Code PHP :
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 ?
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 07h17   #4
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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 ???
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 09h07   #5
Membre chevronné
 
Avatar de haltabush
 
Développeur Web
Inscription : avril 2005
Messages : 726
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 726
Points : 790
Points : 790
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
haltabush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 10h15   #6
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Citation:
Envoyé par christ84
Seul la premiére lettre apparait ( F )

On dirait plutôt qu'il affiche sur ton serveur :
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 13h29   #7
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h18   #8
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
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.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h24   #9
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
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 ?
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h27   #10
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
Non je derais même jamais utiliser, bon j'y vais et on verra bien
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h45   #11
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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 :
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 ???
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h56   #12
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
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
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 14h57   #13
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
ce ne serait pas mieux plutôt de renommer la tienne ? (genre $xLANG )
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 15h01   #14
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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 ;(
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 15h53   #15
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Citation:
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() ?
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 16h33   #16
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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 ?????
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 16h42   #17
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Non je n'ai pas de ligne LANG dans ces 2 tableaux.
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 17h18   #18
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
Voici les 2 derniers tableaux ou LANG apparait

Code X :
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
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 17h41   #19
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Autant pour moi :

J'ai bien
Code :
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 ?
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 18h20   #20
Invité de passage
 
Inscription : février 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 13
Points : 1
Points : 1
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'];
christ84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h07.


 
 
 
 
Partenaires

Hébergement Web