首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phpseclib在错误时执行不同的命令

Phpseclib在错误时执行不同的命令
EN

Stack Overflow用户
提问于 2018-06-13 18:44:02
回答 1查看 438关注 0票数 0

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

代码语言:javascript
复制
<?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>';
?>
EN

回答 1

Stack Overflow用户

发布于 2018-06-13 20:55:08

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50835213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档