我正在使用 php ssh2 方法建立与服务器的连接并传输 ~39Kb 的字符串。但是,在 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