Hellowww :) Merci � tous pour le temps pass� � me r�pondre,
je vais now faire une r�ponse globale :)

Jean-Albert Ferrez wrote :

>> 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 ...

Hmmm, PHP h�rite des variables d'environnement du shell � partir duquel
apache a �t� lanc�. Pouvoir influer non pas sur les variables de ce shell
mais des variables PHP � partir de l'un de ses child devrait �tre
techniquement possible. Je le proposerai � l'�quipe de PHP en tant
que new feature.

>> L'id�al -- si applicable -- �tant de supprimer le  shell-script et

>> tout faire en PHP.

Difficile, parce que le script shell en question est utilis� par
d'autre programmes qui n'ont rien � voir avec le ouaib.

F�lix Hauri wrote :

>>>> 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.)


Yep, t'as raison, j'ai confondu les termes sous prog et child dans ce cas
m'enfin tu m'as compris :)

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

nan parce que php var faire ex�cuter au system la commande suivante :

. /home/chezmoi/ok;echo GAGA

par contre $VAR=exec(". /home/chezmoi/ok");

fonctionne

>> ou de supprimer PHP et tout faire en CGI (shell ou mieux: perl;-)

c'est exactement le contraire que je suis en train de faire, c'est � dire
migrer le plus grand nombre de scripts shell en PHP (enfin tout ceux qui
sont utilis� pour une utilisation ouaib)....Tu me diras comment faire
des connections permanantes � une base de donn�e en cgi script shell :P

maintenant php vs perl vs shell, sybase vs oracle, mysql vs postgresql,
pc vs macintosh, atari vs amiga, linux vs windows, debian vs slackware
...on a tous nos pr�f�rences :)


Nico wrote :

>> printenv | sed -e "s/^/\$/" -e "s/=/=\"/" -e "s/$/\";/" | grep
>> la_variable_que_je_veux

Yessss !!! :) et comme y'a plusieurs variables que je dois
r�cup�rer, je vais proc�der par grep -e variable1 -e variable2 ...
je pensais pas qu'eval �tait capable de d�finir plusieurs variables
en m�me temps...mais en y r�fl�chissant c'est logique, il n'�value
pas des variables, mais un input :)

A la fin du script shell, l'output ne sera affich� que si
$LOGNAME = "L'utilisateur d�fini dans apache", donc aucun risque
cela g�ne les utilisateurs non-ouaib

>> - �a ne marche pas si une variable d'environnement contient un \n

J'ai en effet une variable qui est d�finie comme ca, mais l� je vais
faire en sorte qu'elle soit construite d'une autre fa�on � la source

>> mais l'id�� est l�, vive le jour o� ton environnement contient
>> du code php que je ne sais qui � mis ;)


Vive aujourd'hui :)

Merci � tous :)

@++
JC

Répondre à