gpt4 book ai didi

Phpseclib 错误执行不同的命令

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:11 25 4
gpt4 key购买 nike

我正在使用 Phpseclib 1.0 在远程服务器上执行多个命令。我知道如何将它配置为在出错时退出,但是有什么方法可以设置它在出错时停止并执行不同的命令吗?例如,我有 8 个命令要执行,当它全部工作时它不显示任何输出所以一切都很好。例如,如果在第 4 个命令之后出现错误,我需要它停止执行其余命令并执行命令以删除它所做的以及另一个命令运行另一个脚本以通知管理员有关事故。我目前使用的代码是

<?php
include('Net/SSH2.php');

ini_set('display_errors', 1);
error_reporting(E_ALL);

$ssh = new Net_SSH2('host');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}
echo '<pre>' . $ssh->exec('create vlan “TEST”') . '</pre>';
echo '<pre>' . $ssh->exec('configure vlan TEST tag 666') . '</pre>';
echo '<pre>' . $ssh->exec('configure vlan TEST add ports 8 untagged') . '</pre>';
echo '<pre>' . $ssh->exec('create l2vpn vpws TEST fec-id-type pseudo-wire 666') . '</pre>';

// Execute on error
echo '<pre>' . $ssh->exec('delete l2vpn vpws “TEST”') . '</pre>';
echo '<pre>' . $ssh->exec('delete vlan “TEST”') . '</pre>';
?>

最佳答案

您可以通过执行 $ssh->getStdError() 并查看它是否为空来检查 stderr。还有 $ssh->getExitStatus()

关于Phpseclib 错误执行不同的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835213/

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