在 php 上使用 shell_exec() 发送 "nmcli d wifi list" 命令但无法获得完整回复?



我尝试运行命令

$results = shell_exec("nmcli device wifi list");

echo "<pre>".$results."</pre>";

它只列出了周围的1个wifi连接。当在命令行上键入相同的命令时,它会列出大约4-5个可用的wifi连接。有人知道我如何列出周围所有的wifi连接吗?

我找到了一个解决方案,但它并不是我想要的,而是我想要的输出。

$list = shell_exec('nmcli -e yes device wifi list');
echo "<pre>".$list."</pre";

我意识到,当nmcli输出的结果在每个连接之间都有转义时,PHP只能读取第一个。

因此-eyes可以将其转义为chank并输出整个结果。

我不确定这是否解释正确。此外,shell_exec仍然无法选择等待所有数据输出的时间。所以它并没有完全按照我的要求,但它仍然给了我想要的结果。

如果有人有更好的答案,请分享,我也喜欢学习。

最新更新