所以我有一个问题,在我脑海里看起来应该很容易解决。我想ssh到服务器,我做了很多次,然后做一个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错误吗?
提前致谢!
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
来捕捉任何错误