On Tue, 5 Jun 2001 15:01:36 +0200,
"Jean-Claude Schopfer" <[EMAIL PROTECTED]> wrote:
> 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
Ben c'est comme ça et c'est tout :) Extrait de man bash:
. filename [arguments]
source filename [arguments]
Read and execute commands from filename in the cur
rent shell environment and return the exit status
Donc il n'y a pas création d'un sous-shell et on modifie directement les
variables d'environment de ce processus.
En faisant un system() depuis PHP, tu va forcément lancer un sous-shell (de
PHP, pas du shell lui même), et les modifications ne vont pas "remonter".
C'est la vie ...
Cela dit, il doit y avoir d'autres moyens de communiquer entre ton
shell-script et PHP. L'idéal -- si applicable -- étant de supprimer le
shell-script et tout faire en PHP.
--
___ _ ___ Jean-Albert FERREZ [EMAIL PROTECTED]
' / / \ \ EPFL - Chaire de Recherche Operationnelle - ROSO
,--/-/---\-\---------------------------------------------------------
\_/ / \ \ http://rosowww.epfl.ch/jaf/
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.