如何使用phpseclib从我的php服务器上载文件->;其他服务器?
我正在尝试将一个文件从我的php服务器上载到其他服务器 (我的工作环境非常糟糕,足以阻止ssh通信) 总之,我想做的是: (位于:/public\u html/manage.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
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知道它是您要上载的本地文件?