Re: Accès à des prog externes depuis PHP avec retour desvariables

2001-06-06 Par sujet Jean-Claude Schopfer

Félix Hauri wrote : 

 Si tu dispose du moteur de base de données, pourquoi n'y ajouterais-tu pas
 une TABLE ``MYENV'' qui te permettra d'échanger des variables relative à
 l'environnement que tu es en train de créer... (Sur laquelle tu pourras
 intervenir avec des connexions non permanentes)

L'idée aurait pu être séduisante, malheureusement ces fameuses variables
sont settées non seulement par un contexte donné comme paramètre du
script shell mais également par plein de facteurs différents souvent
indépendants de ma volonté. Elles peuvent donc changer à tout moment.
Le script shell se charge donc de tout gérer.

L'autre problème c'est que l'une des variables défini sur quel serveur
SYBASE les requêtes SQL devront aboutir :P 

Mais merci quand même :)

@++
JC


Accès à des prog externes depuis PHP avec retour desvariables

2001-06-05 Par sujet Jean-Claude Schopfer

Bon, le problème n'est pas simple ni compliqué...à vous de juger : 

Depuis un script shell, lorsque l'on veut que les export de variables
d'un process child soient valables dans le script principal, on appel
ce dernier précédé d'un point suivi d'un espace.

Cela fonctionne très bien si le script principal est un script shell mais
cela n'a aucun effet depuis un script PHP. Est-ce un bug ou une
feature ? Là est la question :p

ok.php :

H1Test/H1
?
$VAR=GAGA;
system(. /home/chezmoi/ok);
echo $VAR;
?

/home/chezmoi/ok : 

export VAR=Youpie
echo $VAR

Résultat de ok.php : 

Test
Youpie GAGA

Résultat attendu : 

Test
Youpie Youpie

@++
JC

Re: Accès à des prog externes depuis PHP avec retour desvariables

2001-06-05 Par sujet Félix Hauri

On Tue, 5 Jun 2001, Jean-Claude Schopfer wrote:

 Bon, le problème n'est pas simple ni compliqué...à vous de juger : 
Je pense: simple;-)

 
 Depuis un script shell, lorsque l'on veut que les export de variables
 d'un process child soient valables dans le script principal, on appel
 ce dernier précédé d'un point suivi d'un espace.
Que neni! Le script n'est pas lancé dans un ``child'' qui va transmettre
ses variables à son père, mais plutôt executé au niveau du process qui le
lance... (Pas de père-fils, pas d'héritage fils - père.)

 Cela fonctionne très bien si le script principal est un script shell mais
 cela n'a aucun effet depuis un script PHP. Est-ce un bug ou une
 feature ? Là est la question :p
 
 ok.php :
 
 H1Test/H1
 ?
 $VAR=GAGA;
 system(. /home/chezmoi/ok);
La commande ``system'' de php lance un nouveau process (fils) pour y faire
tourner un shell... Par conséquent
 system(. /home/chezmoi/ok;echo $VAR);
devrait te renseigner...

peut-être que:
 ?
$var=exec(. /home/chezmoi/ok;echo $VAR);
?
pourrait donner qqch.

--
 Félix Hauri  -  [EMAIL PROTECTED]  -  http://www.f-hauri.ch

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.



Re: Accès à des prog externes depuis PHP avec retour desvariables

2001-06-05 Par sujet Nicolas Desir

Tcho JC

Jean-Claude Schopfer a écrit :
 
 [...]
Ne confondrais-tu variables de php et variables d'environnement, en
shell il n'y a que des variables d'environnement (exportées ou non)
mais en perl par exemple tu dois utiliser la hash %ENV pour lire
ou modifier les variables d'environnement en C ça doit être getenv et
setenv si je me souviens bien.

J'imagine qu'en PHP, il doit y'avoir un moyen identique.

 Cela fonctionne très bien si le script principal est un script shell
Cela voudrait dire que php crée des variables avec toutes les variables
d'environnement qu'il trouve et répercute leur modification en appelant
setenv à la fin ou à la façon d'un tie perl?

L'autre sens est évidemment impossible, les performances de php en
prendraient un mauvais coup s'il devait faire un setenv de chacune de
ses variables, sans parler des problèmes de limitations de la taille
de l'environnement et sa lenteur d'accès.

A+

Nico
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.