我希望能够从我的PHP脚本中访问Powershell中设置的环境变量。
通常在Linux系统中export SOMETHING=foo
可以工作,而在Windows CMD SET SOMETHING=bar
中也可以工作。但是我也不知道如何通过Powershell CLI(不是脚本)来实现这一功能。
我尝试使用Set-Variable -Name "SOMETHING" -Value "foo"
,但是PHP并没有读取。
在我的PHP脚本中,我只想使用getenv('SOMETHING');
。
答案 0 :(得分:1)
有几种方法可以在PowerShell中创建环境变量。重要的是要区分 PowerShell变量(例如$myVar
)和环境变量,因为您可能会从旧的命令提示符(例如cmd {{ 1}})。
要在PowerShell中创建 environment 变量,最简单的方法是在环境(SET MYVAR=MYVAL
)中创建新项:
Env
您发布的代码示例
New-Item Env:/VarName -Value "Foo"
创建一个 PowerShell变量,但是只需编写Set-Variable -Name "Name" -Value "value"
即可。
PowerShell变量仅在您的PowerShell范围中可见。在当前环境(例如PowerShell会话)中作为子进程启动的任何程序都可以读取环境变量。
编辑:
@f64a在评论中发布的示例也很有趣:
$Name = "value"
这是afaik在您自己的范围之外通过PowerShell操纵环境变量的唯一方法。使用EnvironmentVariableTarget
,您可以选择在哪里操作变量。请注意,您可能需要更高的特权才能进行操作。