экспортировать переменную среды оболочки перед запуском команды из скрипта PHP CLI

У меня есть скрипт, который использует passthru()для запуска команды. Мне нужно установить некоторые переменные среды оболочки перед запуском этой команды, иначе она не сможет найти свои библиотеки.

Я пробовал следующее:

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

Использование putenv()не распространяется на команду, которую я запускаю. Он не говорит, что не может найти библиотеки. Когда я запускаю export LD_LIBRARY_PATH=/path/to/libв bash, все работает нормально.

Я также пробовал следующее (тщетно):

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

Как я могу установить переменную оболочки из PHP, которая распространяется на дочерние процессы моего скрипта PHP?

Ограничен ли я проверкой существования переменной в текущей среде и прошу пользователя установить ее вручную?

7
задан Greg K 9 March 2012 в 15:28
поделиться