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.

Répondre à