我正在使用putenv
将变量传递给PHP的shell脚本。
(这是我设法做到的唯一方法)
PHP从HTML表单接收IP:
$ip=$_POST["ip"];
然后我把值放在一个环境变量中:
putenv("ip=$ip");
在Shell脚本中,我有:
ip=$IP
因此,我可以在shell脚本中使用此变量。
我的问题是,如果要多次调用此PHP(在HTML表单上使用不同的IP值),甚至可能在同一时间,putenv("ip=$port")
将包含正确的值,还是会覆盖前一个。
我只是不明白这个putenv
是否会在全局变量上定义某种类型,每次运行php时都会被覆盖。
答案 0 :(得分:0)
如果你想调用一个shell脚本并将env变量传递给它,那么最好的办法就是直接在执行中传递env变种。
$ip = $_POST['IP'];
echo `IP=$ip script.sh`;
如果您不熟悉php,请查看执行脚本的backtick operator。