ssh2 scp 通过 php 来自 win do unix 不起作用
ssh2 scp via php from win do unix does not work
我目前遇到了一个奇怪的问题:
将文件 从 windows 远程机器复制到本地 unix 机器 时,由于在远程机器上找不到文件而失败。
错误:
Warning: ssh2_scp_recv(): Unable to receive remote file
php代码
ssh2_scp_recv($connection, "textexample", "nexText.txt");
正常scp工作:
scp user@host:textexample textexample
当我试图通过 ssh2_scp_send 发送(以编程方式)时,它正在工作,但远程主机上的文件被命名为 'textexample'(带有这些引号)。
所以假设是 windows 搞砸了 ;)
在 Windows 端,在用户的 ssh 之后有 cmd 会话。但是 afaik 这不应该在这里做任何事情(而且通常的 SCP 无论如何都在工作)。
有什么特别的想法吗?
最好的,
弯曲
为了确保没有其他人在这里遇到这种令人讨厌的事情:)
我用上面评论中 @Chris Haas 的建议库解决了它:
$sftp = new SFTP($remoteHost, $port);
if ($sftp->login($username, $password)) {
echo "Password authentication successful\n";
// Trying to download one file
if ($sftp->get('textexample', 'textexample')) {
echo "Copied one file successfully\n";
return true;
}
return false;
}
echo "Password authentication not successful\n";
return false;
成功了!
我目前遇到了一个奇怪的问题: 将文件 从 windows 远程机器复制到本地 unix 机器 时,由于在远程机器上找不到文件而失败。
错误:
Warning: ssh2_scp_recv(): Unable to receive remote file
php代码
ssh2_scp_recv($connection, "textexample", "nexText.txt");
正常scp工作:
scp user@host:textexample textexample
当我试图通过 ssh2_scp_send 发送(以编程方式)时,它正在工作,但远程主机上的文件被命名为 'textexample'(带有这些引号)。 所以假设是 windows 搞砸了 ;)
在 Windows 端,在用户的 ssh 之后有 cmd 会话。但是 afaik 这不应该在这里做任何事情(而且通常的 SCP 无论如何都在工作)。
有什么特别的想法吗?
最好的, 弯曲
为了确保没有其他人在这里遇到这种令人讨厌的事情:)
我用上面评论中 @Chris Haas 的建议库解决了它:
$sftp = new SFTP($remoteHost, $port);
if ($sftp->login($username, $password)) {
echo "Password authentication successful\n";
// Trying to download one file
if ($sftp->get('textexample', 'textexample')) {
echo "Copied one file successfully\n";
return true;
}
return false;
}
echo "Password authentication not successful\n";
return false;
成功了!