调用未定义的方法Net_SSH2 :: put()

时间:2018-06-22 03:00:20

标签: php sftp ssh2-sftp

我正在使用PHP_SSH2 1.1.2版(和phpseclib 1.0.11版),并且尝试上传文件时,出现此错误:

  

PHP致命错误:未捕获的错误:调用未定义的方法Net_SSH2 :: put()

这是我正在使用的代码:

require 'Net/SSH2.php';
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);

$connection = new Net_SSH2($ftp_server);
if(!$connection->login($ftp_user_name, $ftp_user_pass)){ 
    die("FTP connection has failed!\nAttempted to connect to $ftp_server for user $ftp_user_name"); 
}

$source_file = 'filename.txt';
$destination_file = $source_file;
$upload = $connection->put($destination_file, $source_file, NET_SFTP_LOCAL_FILE);

if (!$upload) die("FTP upload of $source_file has failed!");

我可以正常连接到服务器(因此login()可以工作),但是put()不可以吗?

1 个答案:

答案 0 :(得分:0)

Net_SSH2没有put方法。您需要使用Net_SFTP在SSH服务器上执行SFTP操作。

http://phpseclib.sourceforge.net/sftp/examples.html#put