SshConnection
in package
implements
ConnectionInterface
Прикладное SSH/SFTP соединение (нативная сессия) в контракте ConnectionInterface.
Tags
Table of Contents
Interfaces
- ConnectionInterface
- Единый объект сетевого соединения любого протокола.
Methods
- __construct() : mixed
- Оборачивает нативную SSH-сессию в ConnectionInterface.
- close() : void
- Закрывает соединение и освобождает ресурс.
- exec() : string
- Выполняет удалённую команду и возвращает stdout (и накопленный stderr канала).
- isOpen() : bool
- Проверяет, открыто ли соединение.
- metadata() : array<string, mixed>
- Возвращает метаданные соединения (transport, tls, peer и т.п.).
- osiLayer() : int
- Возвращает слой OSI (1–7) или 0 для внемодельных (socket и т.п.).
- protocol() : string
- Возвращает идентификатор протокола (нижний регистр).
- read() : string
- Читает до $length байт.
- readChunks() : Generator<mixed, void>
- Читает поток чанками (генератор для экономии памяти).
- remoteEndpoint() : string|null
- Возвращает удалённый endpoint (host:port, unix-path и т.п.) либо null.
- resource() : SshSessionInterface
- Возвращает низкоуровневый stream-ресурс или null.
- sftp() : SftpClient
- Открывает прикладной SFTP-клиент поверх той же сессии.
- write() : int
- Записывает данные в соединение.
Methods
__construct()
Оборачивает нативную SSH-сессию в ConnectionInterface.
public
__construct(SshSessionInterface $session, string $protocol, string|null $remoteEndpoint[, array<string, mixed> $metadata = [] ]) : mixed
Parameters
- $session : SshSessionInterface
-
Аутентифицированная сессия
- $protocol : string
-
Идентификатор протокола («ssh» или «sftp»)
- $remoteEndpoint : string|null
-
Исходный endpoint пользователя (host:port)
- $metadata : array<string, mixed> = []
-
Служебные метаданные (engine, pinned_ips, …)
close()
Закрывает соединение и освобождает ресурс.
public
close() : void
Отправляет DISCONNECT и помечает соединение закрытым.
Attributes
- #[Override]
exec()
Выполняет удалённую команду и возвращает stdout (и накопленный stderr канала).
public
exec(string $command) : string
Parameters
- $command : string
-
Команда для channel request «exec»
Tags
Return values
string —Вывод команды
isOpen()
Проверяет, открыто ли соединение.
public
isOpen() : bool
Attributes
- #[Override]
Return values
bool —true, пока не вызван close() и сессия isConnected()
metadata()
Возвращает метаданные соединения (transport, tls, peer и т.п.).
public
metadata() : array<string, mixed>
Attributes
- #[Override]
Return values
array<string, mixed> —Копия метаданных конструктора
osiLayer()
Возвращает слой OSI (1–7) или 0 для внемодельных (socket и т.п.).
public
osiLayer() : int
Attributes
- #[Override]
Return values
int —Всегда 7 (прикладной уровень OSI)
protocol()
Возвращает идентификатор протокола (нижний регистр).
public
protocol() : string
Attributes
- #[Override]
Return values
string —Идентификатор протокола («ssh» / «sftp»)
read()
Читает до $length байт.
public
read(int $length) : string
Parameters
- $length : int
-
Максимум байт за чтение
Tags
Attributes
- #[Override]
Return values
string —Прочитанный фрагмент или ''
readChunks()
Читает поток чанками (генератор для экономии памяти).
public
readChunks([int $chunkSize = 8192 ]) : Generator<mixed, void>
Parameters
- $chunkSize : int = 8192
-
Размер порции для одного yield
Tags
Attributes
- #[Override]
Return values
Generator<mixed, void> —Не более одного чанка за итерацию
remoteEndpoint()
Возвращает удалённый endpoint (host:port, unix-path и т.п.) либо null.
public
remoteEndpoint() : string|null
Attributes
- #[Override]
Return values
string|null —Endpoint из конструктора или null
resource()
Возвращает низкоуровневый stream-ресурс или null.
public
resource() : SshSessionInterface
Attributes
- #[Override]
Return values
SshSessionInterface —Внутренняя нативная сессия
sftp()
Открывает прикладной SFTP-клиент поверх той же сессии.
public
sftp() : SftpClient
Tags
Return values
SftpClient —Клиент get/put/list/mkdir/delete
write()
Записывает данные в соединение.
public
write(string $payload) : int
Parameters
- $payload : string
-
Байты в session-канал
Tags
Attributes
- #[Override]
Return values
int —Число записанных байт (strlen payload)