首页 > 解决方案 > PHP - 访问服务器时生成屏幕警报

问题描述

我在下面的 Laravel 控制器上有这个功能,它可以访问服务器来执行命令。如果通知的 IP 错误,我正在尝试调整异常,并在屏幕上发送由于 IP、用户或密码错误而无法连接的警报。

    public function accessServer()
    {

        $ip = '192.168.34.13';
        if ($connection = ssh2_connect($ip, 22)) {
        ssh2_auth_password($connection, 'user', 'password');

        $stream = ssh2_exec($connection, "df -h");
            echo "OK";

    } else {
            echo "Error";
    }
}

上述函数返回以下错误:

ErrorException
ssh2_connect(): Unable to connect to 192.168.34.13 on port 22

标签: phplaravel

解决方案


您可以使用 try/catch 方法

public function accessServer()
{

    $ip = '192.168.34.13';
    try {
        $connection = ssh2_connect($ip, 22);
        ssh2_auth_password($connection, 'user', 'password');
    } catch (\Exception $e) {
        echo "Error";
        return;
    }
    $stream = ssh2_exec($connection, "df -h");
    echo "OK";
}
        

    
            
    

推荐阅读