我想在浏览器中显示 php 的 cpu 负载百分比。 这是我正在使用的代码:
$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.
我错过了什么?
更新 - 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");
设置路径
Windows+Pausebreak
> Advanced System Settings
> Environment Variable
> systme varible
> path
> Edit
: C:\Windows\System32\wbem
或
前往
C:\Windows\System32\wbem
> wbemtest
连接然后退出。
对于 Windows 和 javascript,将文件夹 wbem 的位置添加到路径变量
如果您使用的是 Windows 11,则默认情况下该功能处于禁用状态。只需在 Windows 搜索字段中输入“可选功能”,顶部就会出现“添加可选功能”,单击“查看功能”,然后搜索 WMIC,选中复选框以添加该功能。然后确保将其添加到您系统的“路径”中,如上所述。
这个对
%PATH%
环境变量的简单编辑对我有用。