libssh2 提供相当有限的诊断功能。我几乎建议您尝试连接phpseclib,这是一个纯 PHP SCP 实现,如果它不能使用,请启用日志记录。
例如。(不记录)
<?php
include('Net/SCP.php');
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('bad login');
}
$scp = new Net_SCP($ssh);
$scp->put('abcd', str_repeat('x', 1024*1024));
?>
并通过日志记录...
<?php
include('Net/SCP.php');
include('Net/SSH2.php');
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('bad login');
}
$scp = new Net_SCP($ssh);
$scp->put('abcd', str_repeat('x', 1024*1024));
echo $ssh->getLog();
?>
假设您不只是想将 phpseclib 用于您获得的全部内容,可能会从中获得一些有用的信息,但这些信息将帮助您诊断问题。