我们如何通过sftp连接到远程服务器以验证登录详细信息在php中是否有效...
我正在使用apache服务器...我的用途是检查用户输入的登录详细信息是否正确。
答案 0 :(得分:3)
您可以更轻松地使用phpseclib, a pure PHP SFTP client。这是一个例子:
<?php
include('Net/SFTP.php');
$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
exit('Login Failed');
}
echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>
libssh2的问题,正如大家的建议,是它没有得到广泛部署,它的API不是最可靠的,它不可靠,支持不佳等等。
答案 1 :(得分:2)
您是否安装了apache服务器?例如:xampp?
如果您这样做,则使用FTP功能:
<?php
$connection = ssh2_connect('ftp.server.com', 22); //port 22 for Shell connections
ssh2_auth_password($connection, 'username', 'password');
$shell_ftp = ssh2_sftp($connection);
$connectionStream = fopen('ssh2.sftp://'.$shell_ftp.'/path/to/fileorfolder', 'r');
if(!connectionStream)
{
echo "Could not connect to the server, please try agian";
}
else
{
echo "Successfully logged in.";
}
?>
基本的Shell FTP连接,你必须定义文件或文件夹的绝对路径。
答案 2 :(得分:2)
这会有帮助吗?
<?php
$connection = ssh2_connect('ftp.server.com', 22);
if (ssh2_auth_password($connection, 'username', 'password'))
echo "Authentication success";
else
echo "Authentication failure";
?>
答案 3 :(得分:0)
我从多个建议中形成了一个小型的lib。我鼓励