【发布时间】:2012-03-27 01:18:13
【问题描述】:
我有一个使用passthru() 运行命令的脚本。在运行这个命令之前我需要设置一些shell环境变量,否则它会找不到它的库。
我尝试了以下方法:
putenv("LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);
使用putenv() 似乎不会传播到我正在运行的命令。它没有说它找不到它的库。当我在 bash 中运行 export LD_LIBRARY_PATH=/path/to/lib 时,它运行良好。
我还尝试了以下方法(徒劳):
exec("export LD_LIBRARY_PATH=/path/to/lib");
passthru($cmd);
如何从 PHP 中设置一个 shell 变量,以传播到我的 PHP 脚本的子进程?
我是否仅限于检查当前环境中是否不存在变量并要求用户手动设置它?
【问题讨论】:
-
我读过那个问题,这看起来很相似,但如果你读过,我想问的是如何实现不同的目标。
标签: php environment-variables command-line-interface