从PHP CLI导出环境变量

从PHP CLI导出环境变量,php,bash,environment-variables,command-line-interface,Php,Bash,Environment Variables,Command Line Interface,我正在寻找一种从使用PHPCLI运行的PHP脚本中导出环境变量的方法。putenv函数只允许设置脚本执行期间存在的变量,而不允许在脚本执行之后 我的用例是一个用作bash自动完成器函数的PHP脚本。在这种类型的函数中,我们必须设置COMPREPLY变量,该变量必须包含可用选项列表(作为bash数组)。目前,我通过以下方式设置此变量: COMPREPLY=( $(php myscript.php) ) 我希望能够设置COMPREPLY变量和其他一些变量(特别是对于空选项列表上的默认行为的操作)

我正在寻找一种从使用PHPCLI运行的PHP脚本中导出环境变量的方法。
putenv
函数只允许设置脚本执行期间存在的变量,而不允许在脚本执行之后

我的用例是一个用作bash自动完成器函数的PHP脚本。在这种类型的函数中,我们必须设置COMPREPLY变量,该变量必须包含可用选项列表(作为bash数组)。目前,我通过以下方式设置此变量:

COMPREPLY=( $(php myscript.php) )
我希望能够设置COMPREPLY变量和其他一些变量(特别是对于空选项列表上的默认行为的操作)


提前感谢

您不能设置在该过程中仍然有效的环境变量。这是环境的基本属性。但是,您使用
putenv
设置的不仅适用于当前进程,还适用于所有后续子进程。感谢您回答我所担心的问题……;)我将尝试找到另一种方法来实现我的需求。您可以将信息作为字符串传递给父进程,例如将其写入stdout,让父进程截取并解释它,或者将其写入文件,父进程以后可以读取的。您不能设置在该进程之后仍然存在的环境变量。这是环境的基本属性。但是,您使用
putenv
设置的不仅适用于当前进程,还适用于所有后续子进程。感谢您回答我所担心的问题……;)我将尝试找到另一种方法来实现我的需求。您有几种可能将信息作为字符串传递给父进程,例如将其写入stdout并让父进程截取和解释它,或者将其写入一个文件,然后父进程可以读取该文件。