【问题标题】:supplied resource is not a valid SSH2 SFTP resource提供的资源不是有效的 SSH2 SFTP 资源
【发布时间】:2013-01-13 22:39:14
【问题描述】:
<?php
$ssh = ssh2_connect('domain.tld');
ssh2_auth_password($ssh, 'username', 'password');

$start = microtime(true);
$sftp = fopen('ssh2.sftp://'.$ssh.'/home/username/1mb', 'w');

fwrite($sftp, str_repeat('a', 1024 * 1024));
$elapsed = microtime(true) - $start;

echo "took $elapsed seconds";

那个代码 sn-p 给了我一个

PHP 警告:fopen():提供的资源不是...中的有效 SSH2 SFTP 资源

错误。为什么?

$sftp = fopen('ssh2.sftp://username:password@domain.tld:22/home/user/1mb', 'w');

那个工作得很好,但如果你在做公钥认证,它就行不通了。

【问题讨论】:

  • 太棒了-谢谢!想要将其作为答案而不是评论,以便我可以将其标记为答案? :)
  • 为我工作。不知道为什么关闭。

标签: php libssh2


【解决方案1】:

正如评论中提到的 hakre 你应该使用

$ssh = ssh2_connect('domain.tld');
$resSftp= ssh2_sftp($ssh);
$sftp = fopen('ssh2.sftp://'.$resSftp.'/home/username/1mb', 'w');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多