0

我有 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 的初学者。谢谢

4

1 回答 1

1

您正在寻找的答案是:

您给出的示例中已经全部存在,无需修改代码。

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

于 2013-08-05T09:33:56.297 回答