gpt4 book ai didi

PHP exec 返回 "array"而不是我的命令的结果

转载 作者:太空狗 更新时间:2023-10-29 11:32:15 24 4
gpt4 key购买 nike

我正在尝试在我的本地网络服务器 (openwrt) 上构建一个网络终端模拟器,每次我执行命令时,结果总是显示“array”,例如当我执行 uptime 时没有给我网络服务器的启动时间,而是给了我 array。这是我的脚本:

<?php
..............................
if($_POST['command'])
{
$command = $_POST['command'];
exec("$command 2>&1 &", $output);
echo $command;
}
echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
echo "Command:<br><input type=\"text\" autofocus name=\"command\" size=\"15\" value=\"\"/><br>";
echo '<br>Result :<br><pre>
<div id="show" style="font-size: 11px; word-wrap: break-word; width:550px;height:200px;border:0px solid #000;text-align:left; overflow-y: scroll;">
'.$output.'</div>';
echo '<input type="submit" name="kill" value="Kill Command" />';
echo "</form></div>";
.........................
?>

我希望 $output 返回我的命令的结果。现在,无论我执行什么类型的命令,$output 总是返回 array,我应该如何解决这个问题?

最佳答案

它应该返回一个数组,因为它写在 documentation 中。 .

如果要逐行打印数组,请使用如下代码:

<?php
exec("$command 2>&1 &", $output);
foreach ($output as $line) {
echo "$line\n";
}

关于PHP exec 返回 "array"而不是我的命令的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28317995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com