所以我有一个疑问,在我看来应该很容易解决。 我想连接到服务器,我已经做了很多次,然后执行了我也做了很多次的shell,但是它不起作用。
我正在使用的代码
<?php
$ip = '1.2.3.4';
$cmd = "ssh user@".$ip;
$result = shell_exec($cmd." 'sudo /bin/systemctl stop wildfly.service'");
echo "<pre>output: $result</pre>";
echo "<div class='alert alert-success'><strong>SUCCESS</strong><br>Wildfly node has now restarted</div>";
?>
直接从终端运行命令
ssh user@1.2.3.4 sudo /bin/systemctl stop wildfly.service
它可以工作,但是在php中运行它却无济于事。
有人可以引导我了解我的shell_exec在做什么吗?
谢谢!
答案 0 :(得分:0)
function execPrint($command) {
try {
$result = array();
exec($command.' 2>&1', $result);
foreach ($result as $line) {
print($line . "\n");
}
echo '------------------------' . "\n" . "\n";
} catch (\Exception $e) {
print($e);
}
http_response_code(200);
}
我做了这个功能以获得结果
2>&1
print
try
和catch
捕获任何错误