SSH2_Exec занимает слишком много времени для выполнения команд.- PHP - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь выполнить команду на моем VPS с использованием SSH2, но по какой-то причине первая команда всегда занимает около 10 секунд.Самое странное, что остальные команды после первой выполняются сразу же после этих 10 секунд.

Я что-то не так сделал?Или это нормально?Если это так, как я могу это исправить.

class SSH 
{
public $connection = null;
public $results = "";
public $errors = "";

public function __construct($host, $port)
{
    $this->connection = ssh2_connect($host, $port);
}

public function login($username, $password)
{
    if(!$this->connection)
        return false;

    if(!ssh2_auth_password($this->connection, $username, $password))
        return false;

    return true;
}

public function execute($command)
{
    if(!$this->connection)
        return false;

    error_log("[debug] starting command.");

    $response = ssh2_exec($this->connection, $command);

    if(!$response)
        return false;

    error_log("[debug] command executed.");

    fclose($response);

    return true;
}

public function disconnect()
{
    if(!$this->connection)
        return false;

    return ssh2_disconnect($this->connection);
}
}

Я зарегистрировал сообщения, и, как вы можете видеть ниже, выполнение занимает ~ 10 секунд, а остальные мгновенные.

[23-Sep-2019 17:25:42 Europe/Helsinki] [debug] starting command. (command 1)
[23-Sep-2019 17:25:51 Europe/Helsinki] [debug] command executed.
[23-Sep-2019 17:25:51 Europe/Helsinki] [debug] starting command. (command 2)
[23-Sep-2019 17:25:51 Europe/Helsinki] [debug] command executed.
...