Re: Accès à des prog externes depuis PHP avec retour desvariables
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
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
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
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.