我有一个PHP脚本:
#!/usr/bin/php -q
<?php
$IFO=750;
$MDO=650;
?>
现在我想取变量$ IFO和$ MDO并将它们传递给shell脚本,这样如果在shell脚本中我要声明:
echo $IFO
echo $MDO
我会得到一个输出
750 650
基于它在php脚本中所说的内容。
我应该在php脚本或shell脚本中添加什么才能起作用?
答案 0 :(得分:0)
如果您在PHP环境中调用shell脚本作为子进程,则可以使用putenv
来设置这些值:
putenv("IFO=$IFO");
putenv("MDO=$MDO");
// later, back at the farm
shell_exec('your_script');
如果你正在处理一个你无法修改已经引用这些名称的shell脚本,那么这是最好的。如果shell脚本没有从PHP继承环境,它将无法工作。如果PHP负责生成shell进程,它应该继承环境。
如果没有PHP,则需要一个真正的共享接口,例如IPC,文件或消息队列。