从SFTP下载PHP文件

从SFTP下载PHP文件,php,linux,ssh,sftp,Php,Linux,Ssh,Sftp,我正在尝试使用ssh2从另一台服务器下载文件。我已经可以使用ssh2执行命令,但我需要下载位于/root中的文件/ 我试过: header("Content-type: text/plain"); header("Content-Disposition: attachment; filename=backup.vps"); echo file_get_contents('ssh2.sftp://' . $row['login'] . ':' . $row['senha'] . 'pass@'.

我正在尝试使用ssh2从另一台服务器下载文件。我已经可以使用ssh2执行命令,但我需要下载位于/root中的文件/ 我试过:

header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=backup.vps");
echo file_get_contents('ssh2.sftp://' . $row['login'] . ':' . $row['senha'] . 'pass@'. $row['ip'] . ':22/root/backup.vps');

但它发送一个空白文件。有什么问题吗?

我通过改变以下方式解决了问题:

header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=backup.vps");
echo file_get_contents('ssh2.sftp://' . $row['login'] . ':' . $row['senha'] . 'pass@'. $row['ip'] . ':22/root/backup.vps');
为此:

$result = file_get_contents('ssh2.sftp://' . $row['login'] . ':' . $row['senha'] . 'pass@'. $row['ip'] . ':22/root/backup.vps');
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=backup.vps");
echo $result;

文件\u get\u contents()
返回什么?你在日志中看到警告了吗?
file\u-get\u-contents()
是否支持
sftp
协议?file\u-get\u-contents不返回任何内容,如果我尝试在变量中使用它,它将为null它是
null
还是
false
?什么是
$row['senha']通过
mean?