echo shell_exec(" echo%USERPROFILE%")不返回正确的值

时间:2014-05-14 21:45:02

标签: php environment-variables shell-exec

我试图从php shell_exec和echo%USERPROFILE%获取Windows上的用户配置文件路径。

dos命令本身可以正常工作:

C:\>echo %USERPROFILE%
C:\Users\username

但是从php它只返回'%USERPROFILE%':

echo shell_exec("echo %USERPROFILE%");

我也试过getenv(' USERPROFILE');但即使将phi.ini variables_order更改为" EGPCS"

,我也没有得到任何回报。

1 个答案:

答案 0 :(得分:0)

C:\Users\temp_000>php -r "var_dump(getenv('USERPROFILE'));"
string(17) "C:\Users\temp_000"

C:\Users\temp_000>php -r "var_dump($_ENV['USERPROFILE']);"
string(17) "C:\Users\temp_000"

C:\Users\temp_000>php
<?php
var_dump(shell_exec("echo %USERPROFILE%"));
^Z
string(18) "C:\Users\temp_000
"

一切都适合我。我唯一能想到的是你在Linux上运行你的PHP脚本,但是你说你在Windows上,所以...不太确定。无论如何,只是想展示我测试的结果。