我想在浏览器中显示cpu通过php的负载百分比。这是我使用的代码:
$command ="C:''wmic cpu get loadpercentage";
echo shell_exec("$command 2>&1 ; echo $?" );
输出:
'C:'wmic' is not recognized as an internal or external command, operable program or batch file.
我错过了什么?
Update - 1
更改代码以允许单词之间有空格:$command ="C:''wmic^ cpu^ get^ loadpercentage";
'C:'wmic cpu get loadpercentage' is not recognized as an internal or external command, operable program or batch file.
现在读取整行代码,而不仅仅是'C:'wmic'
您有两个问题,这两个问题我们都在上面的评论中讨论过:
-
实际的WMIC二进制位于
C:'Windows'System32'wbem'WMIC.exe
,而不是C:'wmic
。该路径需要在PHP命令中使用。 -
你正试图在Windows系统上使用unix风格的shell概念(将
STDERR
重定向到STDOUT
,与;
链接命令,并使用echo
和$?
)。简单地运行命令,不需要这些东西:
echo shell_exec("C:''Windows''System32''wbem''WMIC.exe cpu get loadpercentage");
set path Windows+Pausebreak
> Advanced System Settings
> Environment Variable
> systme varible
> path
> Edit
: C:'Windows'System32'wbem
或
进入C:'Windows'System32'wbem
> wbemtest
,连接后退出
对于windows和javascript,将文件夹的位置添加到路径变量
这个对%PATH%
环境变量的简单编辑对我来说很有效。