phpseclib:如何给出IF条件来检查建立的连接与否

时间:2013-08-05 09:04:58

标签: php phpseclib

我有PHP脚本,它使用ssh实用程序连接到远程Ubuntu机器以执行某些命令。脚本如下所示。

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

    define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);

    $ssh = new Net_SSH2('10.3.2.0');
    if (!$ssh->login('makesubdomain','abcdabcd')) {
        exit('Login Failed');
    }
    echo $ssh->exec('/usr/local/listdomain.backup/test/makedir.sh');
?>

我的问题是,我如何给出if条件来检查连接是否失败。我试图修改上面这样的代码,但我知道这是非常错误的。

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

    define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);

    if(!$ssh = new Net_SSH2('10.3.2.0')) // Here how can I give condtion
    {
        echo "Connection failed";
    }else{
         if (!$ssh->login('abcd','abcdabcd')) {
             exit('Login Failed');
         }
         echo $ssh->exec('./test.sh');
    }
?>

请帮助我,因为我是非常初学者的PHP。感谢

1 个答案:

答案 0 :(得分:1)

您正在寻找的答案是:

在您给出的示例中已经存在所有内容,无需修改代码。

$ssh->login()完全符合您的要求:它尝试连接并登录您提供的服务器,如果失败则返回false。