我有一个使用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脚本的子进程中传播?
是否只能检查变量在当前环境中不存在并要求用户手动设置它?