Добрый день! Есть у меня функция которая выполняет подключение к удаленной машине в локальной сети через ssh и выполняет нужную мне команду. И она работает. Но вот если машина не доступна(выключена или еще что то) , приложение выпадает в ошибку.
Вот функция
public function actionCommand($host,$username,$password){
$console = "usbsrv -list";
$yii_ssh = new Yii2ssh();
$auth['username'] = $username; // логин
$auth['password'] = $password; // пароль
$session = $yii_ssh->connect($host, $auth); // подключаемся
if($session){
$lin = $yii_ssh->run_ssh($console);
$line = explode("\n", $lin);
}
else{
$line = false;
// $line = 'Сервер не доступен, попробуйте позже';
}
return $line;
}
А вот ошибка:
PHP Warning – yii\base\ErrorException
fclose() expects parameter 1 to be resource, boolean given
↵
Caused by: yii\base\ErrorException
in C:\OSPanel\domains\localhost\rutoken.loc\vendor\phpseclib\phpseclib\phpseclib\Net\SSH2.php at line 1152
Приложение написано на yii2, в нем использую библиотеку
behnampro\yii2ssh\Yii2ssh. Она позволяет выполнять команды через ssh на удаленных машинах. Как проверить соединение с машиной в локальной сети средством php или Yii2? Я гуглил, но решения которые находил мне не подошли