Variables d'environnement du shell à PHP
Résolu/Fermé
doc_mathieu
-
6 nov. 2008 à 14:15
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 7 nov. 2008 à 09:29
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 7 nov. 2008 à 09:29
A voir également:
- Php variable d'environnement
- Easy php - Télécharger - Divers Web & Internet
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Variable TEMP ✓ - Forum Windows 10
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
- Php natif - Forum PHP
2 réponses
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
6 nov. 2008 à 14:46
6 nov. 2008 à 14:46
Bonjour,
Tout me parait normal...
Les deux distrib doivent bien fonctionner, mais les variables $_ENV sont, comme leurs nom l'indique, des variables d'environnement, ce qui veut dire qu'elles étaient dans l'environnement de l'utilisateur qui a lancé apache quand il a lancé apache :-)
Pour rajouter une variable:
Ce qui doit différer entre les deux distrib, c'est le profil de l'utilisateur qui lance le serveur apache (fichier /etc/profile, ~/.profile ~/.bashrc, etc.)
A plus
Tout me parait normal...
Les deux distrib doivent bien fonctionner, mais les variables $_ENV sont, comme leurs nom l'indique, des variables d'environnement, ce qui veut dire qu'elles étaient dans l'environnement de l'utilisateur qui a lancé apache quand il a lancé apache :-)
Pour rajouter une variable:
$ export MA_VAR=valeur $ apachectl stop $ apachectl start
Ce qui doit différer entre les deux distrib, c'est le profil de l'utilisateur qui lance le serveur apache (fichier /etc/profile, ~/.profile ~/.bashrc, etc.)
A plus
Bonjour et merci de te pencher sur mon problème
le truc c'est que
$ export MA_VAR=valeur
$ apachectl stop
$ apachectl start
ne fonctionne pas puisque php ne considère pas cette variable comme une variable d'environnement php.
J'y ai bien accès depuis le shell : echo $MA_VAR retourne bien valeur mais dans mon php, avec phpinfo() je n'ai pas accès à la variable.
(avec un "export" depuis le serveur fonctionnel je n'ai pas de trace de MYSQL_USER ou MYSQL_SERVER)
Sinon j'ai regardé /etc/profile, ~/.profile ~/.bashrc sur les deux serveurs tout est identique
et apache a été redémarré depuis root sur les deux...
qu'en dis-tu ?
le truc c'est que
$ export MA_VAR=valeur
$ apachectl stop
$ apachectl start
ne fonctionne pas puisque php ne considère pas cette variable comme une variable d'environnement php.
J'y ai bien accès depuis le shell : echo $MA_VAR retourne bien valeur mais dans mon php, avec phpinfo() je n'ai pas accès à la variable.
(avec un "export" depuis le serveur fonctionnel je n'ai pas de trace de MYSQL_USER ou MYSQL_SERVER)
Sinon j'ai regardé /etc/profile, ~/.profile ~/.bashrc sur les deux serveurs tout est identique
et apache a été redémarré depuis root sur les deux...
qu'en dis-tu ?
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
6 nov. 2008 à 15:31
6 nov. 2008 à 15:31
Alors... il faut regarder dans la conf php:
Si safe_mode est à on, les seule variable qui seront passées sont celles dont le nom est préfixé par PHP_
ex:
Si safe_mode est à on, les seule variable qui seront passées sont celles dont le nom est préfixé par PHP_
ex:
$ export PHP_MAVAR $ apachectl stop $ apachectl start
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
6 nov. 2008 à 15:35
6 nov. 2008 à 15:35
Sinon, dans la même veine que ce que dit doglen, dans le script apachectl (which apachectl)
Tu as en début de script normalement, un fichier qui est recherché pour les variable d'environnement:
Chez moi:
Tu as en début de script normalement, un fichier qui est recherché pour les variable d'environnement:
Chez moi:
# pick up any necessary environment variables if test -f /usr/local/environments/env_01/httpd/bin/envvars; then . /usr/local/environments/env_01/httpd/bin/envvars fi
doc_mathieu
>
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
6 nov. 2008 à 15:41
6 nov. 2008 à 15:41
merci a vous deux pour votre aide
Doglen, j'ai regardé /etc/environement, c'est les même sur les deux serveurs, ils ne contiennent que la variable LANG (mais je vais essayer d'ajouter d'autre variables)
asevere, safe_mode est à OFF …sinon je regarde pour le script apachectl (je ne voi pas du tout ce que c'est) je vous tiens au courant
Doglen, j'ai regardé /etc/environement, c'est les même sur les deux serveurs, ils ne contiennent que la variable LANG (mais je vais essayer d'ajouter d'autre variables)
asevere, safe_mode est à OFF …sinon je regarde pour le script apachectl (je ne voi pas du tout ce que c'est) je vous tiens au courant
doc_mathieu
>
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
6 nov. 2008 à 15:49
6 nov. 2008 à 15:49
Heuuu je suis pas un habitué de apache/php, c'est quoi ce apachectl stp ??