Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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
如何使用phpseclib从我的php服务器上载文件->;其他服务器?_Php_Phpseclib - Fatal编程技术网

如何使用phpseclib从我的php服务器上载文件->;其他服务器?

如何使用phpseclib从我的php服务器上载文件->;其他服务器?,php,phpseclib,Php,Phpseclib,我正在尝试将一个文件从我的php服务器上载到其他服务器 (我的工作环境非常糟糕,足以阻止ssh通信) 总之,我想做的是: (位于:/public\u html/manage.php <?php set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib'); include('Net/SSH2.php'); include('Net/SFTP.php'); $ssh = new Net_SSH2

我正在尝试将一个文件从我的php服务器上载到其他服务器 (我的工作环境非常糟糕,足以阻止ssh通信)

总之,我想做的是: (位于:/public\u html/manage.php

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib');
include('Net/SSH2.php');
include('Net/SFTP.php');

$ssh = new Net_SSH2('SomeServer',22); //starting the ssh connection to localhost
if (!$ssh->login('root', '12345')) { //if you can't log on...
    exit('ssh Login Failed');
}
$sftp = new Net_SFTP('SomeServer',22);
if (!$sftp->login('root', '12345')) { //if you can't log on...
    exit('sftp Login Failed');
}
echo $sftp->pwd();

$output = $sftp->put('/root/1_yum_stuff.sh', '1_yum_stuff.txt');
echo $output;
$output = $ssh->exec('ls -a');
//$output = $ssh->exec('./1_yum_stuff.sh & 1>1.txt');
echo $output;
$output = $ssh->exec('pwd');
echo $output;
echo("3rd try!");
?>

问题是,“1_yum_stuff.txt”文件位于我的php服务器上的/public_html/文件夹中,sftp无法移动该文件

无论如何,这是使用phpseclib的sftp模块的正确方法吗?(例如put?)


谢谢:)

我要重写一下你的代码。例如:

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib/phpseclib');
include('Net/SSH2.php');
include('Net/SFTP.php');

$sftp = new Net_SFTP('SomeServer',22);
if (!$sftp->login('root', '12345')) { //if you can't log on...
    exit('sftp Login Failed');
}
echo $sftp->pwd();

$output = $sftp->put('/root/1_yum_stuff.sh', '1_yum_stuff.txt');
echo $output;
$output = $sftp->exec('ls -a');
//$output = $sftp->exec('./1_yum_stuff.sh & 1>1.txt');
echo $output;
$output = $sftp->exec('pwd');
echo $output;
echo("3rd try!");
?>

您是否必须像这里所描述的那样对put方法使用第3个参数:以便lib知道它是您要上载的本地文件?