l'exportation de l'environnement de shell variable avant de la commande en cours d'exécution à partir de PHP script CLI

J'ai un script qui utilise passthru() pour exécuter une commande. J'ai besoin de définir des variables d'environnement shell avant d'exécuter cette commande, sinon il ne sera pas trouver des bibliothèques.

J'ai essayé ce qui suit:

putenv("LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);

À l'aide de putenv() ne semble pas se propager à la commande, je suis en cours d'exécution. Il omet de dire qu'il ne peut pas le trouver dans les bibliothèques. Quand je lance export LD_LIBRARY_PATH=/path/to/lib en bash, il fonctionne très bien.

J'ai aussi essayé la suivante (en vain):

exec("export LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);

Comment puis-je définir une variable d'environnement à partir de PHP, qui se propage à des processus enfants de mon script PHP?

Suis-je limité à vérifier si une variable n'existe pas dans le contexte actuel, et en demandant à l'utilisateur de définir manuellement?

InformationsquelleAutor Greg K | 2012-03-09