如何从 phpseclib 和 SFTP 获取日志记录?

问题描述 投票:0回答:1

我使用下面的代码将文件传输到 SFTP 服务器

use phpseclib3\Net\SFTP;

$sftp = new SFTP('localhost');

$sftp->login('user', 'password');
error_log($sftp->pwd());

foreach ($fileList as $key => $value) {
    $output = $sftp->put("//data//myfile.txt, //sourceFile.txt, SFTP::SOURCE_LOCAL_FILE);
    error_log($output);
}

error_log($sftp->getLastError());
// error_log($sftp->getSFTPLastError());
error_log('------------------------------------');
error_log("<pre>" . print_r($sftp->getErrors(), true) . "</pre>");
// error_log("<pre>" . print_r($sftp->getSFTPErrors(), true) . "</pre>");
error_log("<pre>" . print_r($sftp->getLog(), true) . "</pre>");
error_log("<pre>" . print_r($sftp->getSFTPLog(), true) . "</pre>");

效果很好。我遇到的唯一问题是,如果失败,它不会抛出任何错误消息(只有 $output 变为空)。 如果出现任何问题,我需要更改哪些内容才能获得正确的日志消息或至少来自 SFTP 服务器的响应?

php sftp phpseclib
1个回答
0
投票

在此处复制@neubert 评论以显示我的问题的正确答案:

您需要在文件顶部执行 Define('NET_SFTP_LOGGING', 2) 才能正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.