phpseclib 2.0.12 - Ошибка входа в SFTP, но нет ошибки - PullRequest
0 голосов
/ 06 ноября 2018

Я установил phpseclib 2.0.12 с помощью composer. Я использую PHP 7.0.30.

Я не могу войти на сайт SFTP, используя:

<code>require($_SERVER["DOCUMENT_ROOT"] . "/vendor/autoload.php");
use phpseclib\Net\SFTP;
define('NET_SFTP_LOGGING', SFTP::LOG_COMPLEX);
$sftp = new SFTP($ftp_server);
echo("<pre>");
if (!$sftp->login($ftp_user_name, $ftp_user_pass)) {
    print_r($sftp->getSFTPErrors());
    echo $sftp->getSFTPLog();
    exit('Login Failed');
} else {
    echo("login worked");
}
echo("
");

Выход просто:

Array
(
)
Login Failed

Почему в журнале вообще ничего не отображается? Как я могу увидеть, что здесь не так?

1 Ответ

0 голосов
/ 07 ноября 2018

Вы должны вместо этого делать define('NET_SSH2_LOGGING', SSH2::LOG_COMPLEX); и $sftp->getLog();. NET_SFTP_LOGGING включает регистрацию только на уровне SFTP, который устанавливается только после успешной аутентификации.

Точно так же я бы сделал print_r($sftp->getErrors()); вместо print_r($sftp->getSFTPErrors());.

...