Variable d'environnement

Eléphant du PHP | 177 Messages

21 août 2008, 11:28

Bonjour ici,

J'ai quelques interrogation concernant les variable d'environnement car je n'arrive pas à en afficher certaines....

Voici le code utilisé
<?
echo "document_root : ".getenv("DOCUMENT_ROOT").'<br />';
echo "PHP_SELF : ".getenv("PHP_SELF").'<br />';
echo "DOCUMENT_URI : ".getenv("DOCUMENT_URI").'<br />';
echo "SCRIPT_NAME : ".getenv("SCRIPT_NAME").'<br />';
echo "REMOTE_ADDR : ".getenv("REMOTE_ADDR").'<br />';
echo "SERVER_SOFTWARE : ".getenv("SERVER_SOFTWARE").'<br />';
echo "DATE_LOCAL : ".getenv("DATE_LOCAL").'<br />';
echo "DATE_GMT : ".getenv("DATE_GMT").'<br />';
//phpinfo();
?>
Et voici le retour dans mon navigateur :

Code : Tout sélectionner

document_root : /var/www/ PHP_SELF : DOCUMENT_URI : SCRIPT_NAME : /Web/Traitement courbe V1/chemin.php REMOTE_ADDR : 192.168.0.254 SERVER_SOFTWARE : Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 DATE_LOCAL : DATE_GMT :
Pourquoi certaines s'affiche et d'autre pas ? Je pense que cela vient du serveur ?
Merci pour toutes précisions.[/code][/php]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 août 2008, 11:57

Bonjour,

Simplement parce que certaines ne sont pas renseignées peut être...
Fais un phpinfo() et tu les auras toute sur une même page pour tester :)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 177 Messages

21 août 2008, 12:29

Salut à toi @rthur,
Ba je l'ai fait et je ne comprend pas pourquoi la date ne s'affiche pas ? Avec :
echo "DATE_LOCAL : ".getenv("DATE_LOCAL").'<br />';
echo "DATE_GMT : ".getenv("DATE_GMT").'<br />';
Et l'orsque j'utilise
setlocale(LC_TIME, 'fr_FR');
echo strftime("%e  %B %Y").strftime("%R")." date et heure ??? <br />";
J'obtiens la date en anglais ... :

Code : Tout sélectionner

21 August 200812:22 date et heure ???

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 août 2008, 13:03

Salut à toi @rthur,
Ba je l'ai fait et je ne comprend pas pourquoi la date ne s'affiche pas ? Avec :
echo "DATE_LOCAL : ".getenv("DATE_LOCAL").'<br />';
echo "DATE_GMT : ".getenv("DATE_GMT").'<br />';
Simplement parce que certaines ne sont pas renseignées peut être...
Et l'orsque j'utilise
setlocale(LC_TIME, 'fr_FR');
echo strftime("%e  %B %Y").strftime("%R")." date et heure ??? <br />";
J'obtiens la date en anglais ... :

Code : Tout sélectionner

21 August 200812:22 date et heure ???
Tu n'as probablement pas la locale fr_FR installée sur ton serveur...
Contacte ton hébergeur ou installe les si tu es sur un serveur dédié
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 177 Messages

21 août 2008, 13:13

Ha cela risque de venir d'ailleur alors car mes locales sont installer sur mon serveur ....
Je creuse.....

Mammouth du PHP | 2937 Messages

21 août 2008, 13:33

Et l'orsque j'utilise
setlocale(LC_TIME, 'fr_FR');
echo strftime("%e  %B %Y").strftime("%R")." date et heure ??? <br />";
J'obtiens la date en anglais ... :

Code : Tout sélectionner

21 August 200812:22 date et heure ???
Tu n'as probablement pas la locale fr_FR installée sur ton serveur...
Contacte ton hébergeur ou installe les si tu es sur un serveur dédié
Sous quel OS tourne le serveur ? S'il tourne sous Windows, il est probable que tu doives coder comme suit, par exemple :
setlocale(LC_TIME, 'fra_fra');
echo strftime("%d  %B %Y").strftime("%H:%M:%S")." date et heure ??? <br />";
Le manuel en souffle mot là-dessus pour strftime () et setlocale ().

Eléphant du PHP | 177 Messages

21 août 2008, 13:39

Je tourne sous nunux. Et ceci
<p>Nous sommes le
<?php
setlocale (LC_TIME, 'fr_FR','fra');
echo strftime("%A %d %B %Y %T %H:%M:%S");
?>
</p> 
Me donne

Code : Tout sélectionner

Nous sommes le Thursday 21 August 2008 13:32:10 13:32:10
Pour l'instant je cherche a voir où regler ou ajouter le fr dans apache ou php, il me semble que dans un fichier de conf on peut le faire mais ....
Je regarde plus en avant le setlocal dans le manuel
Merci

Mammouth du PHP | 2937 Messages

21 août 2008, 13:41

Et en remplaçant la constante LC_TIME par LC_ALL, qu'est-ce que ça donne ?

Eléphant du PHP | 177 Messages

21 août 2008, 13:53

Une chose m'échappe...
<p>Nous sommes le
<?php
setlocale (LC_ALL, 'fr_FR','fra');
echo strftime("%A %d %B %Y %T %H:%M:%S");
?>
</p>

<?
/* Configure le script en hollandais */
setlocale(LC_ALL, 'nld_nld');

/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));


?>
Donne :

Code : Tout sélectionner

Nous sommes le Thursday 21 August 2008 13:48:06 13:48:06 Friday 22 December 1978
Apparemment setlocal ne passe pas ?

Eléphant du PHP | 217 Messages

22 août 2008, 07:55

Salut,
il se peut que seule la locale francaise installée soit en utf8:
setlocale(LC_ALL,'fr_FR','fr_FR.utf8','fr_FR@euro','fra','fr');

Eléphant du PHP | 177 Messages

22 août 2008, 11:35

Grand merci tu as tout à fait raison.
Mes locales sur le serveur sont bien en utf8. C'est très bien car passer par une fonction de conversion n'était pas une solution qui me convenait.
Merci