Я использую методы php ssh2, чтобы установить соединение с сервером и передать строку размером ~ 39 КБ. Однако после 32Kb передача останавливается с исключением:
ErrorException: ssh2_exec(): Unable to request command execution on remote host in /var/www/xxx/xxxSSH.php:36
Существует ли искусственное ограничение на количество байтов, которое может быть передано в сеансе, и если да, то как я могу изменить ограничение?
ОБНОВИТЬ
Вот метод, производящий ошибку:
public function exec($cmd)
{
if (!($stream = ssh2_exec($this->connection, $cmd))) {
throw new Exception('SSH command failed');
}
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream, 4096)) {
$data .= $buf;
}
fclose($stream);
return $data;
}
$cmd
содержит строку, которая, кажется, вызывает проблемы. Что он делает, это называется echo '$extremelyLongString' > /etc/someconfig.cfg
Задача ещё не решена.
Других решений пока нет …