Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用未定义的方法Net_SSH2::put()_Php_Sftp_Ssh2 Sftp - Fatal编程技术网

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

Php 调用未定义的方法Net_SSH2::put(),php,sftp,ssh2-sftp,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

我使用的是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()
不行?

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


您正在尝试使用SFTP还是FTP?在SFTP的情况下,您希望SFTP而不是SSH2。SFTP使用SSH协议,而不是FTP协议,但是phpseclib仍然有一个单独的类!谢谢,一定是星期五;-)