当文件确实存在时,找不到phpseclib文件

当文件确实存在时,找不到phpseclib文件,php,sftp,phpseclib,Php,Sftp,Phpseclib,我已经使用phpseclib两年了,没有任何缺陷,突然sftp get函数开始给我NET_sftp_STATUS_NO_这样的文件:FILE not found 我有一个这样的循环: foreach ($sftp->rawlist() as $filename => $details) { // open only files no directories if ($details['type'] == 1) { // reads file to

我已经使用phpseclib两年了,没有任何缺陷,突然sftp get函数开始给我NET_sftp_STATUS_NO_这样的文件:FILE not found

我有一个这样的循环:

foreach ($sftp->rawlist() as $filename => $details) {
    //  open only files no directories
    if ($details['type'] == 1) {
        //  reads file to string
        $sftp_data[$filename] .= $sftp->get($filename);
        $files_counter++;
    }
}
一切正常,rawlist函数在文件中循环,但当脚本转到$sftp->get$filename函数时,问题就出现了

文件夹权限未更改,sftp用户对文件夹和文件具有完全访问权限

我已经试过了

定义“网络日志”,网络日志

用于调试,但这并没有说明问题

下面是$sftp->getSFTPLog输出:

[0] => -> NET_SFTP_INIT (0.0008s)
[1] => <- NET_SFTP_VERSION (0.0009s)
[2] => -> NET_SFTP_REALPATH (0.0004s)
[3] => <- NET_SFTP_NAME (0.001s)
[4] => -> NET_SFTP_REALPATH (0.0005s)
[5] => <- NET_SFTP_NAME (0.001s)
[6] => -> NET_SFTP_OPENDIR (0.0005s)
[7] => <- NET_SFTP_HANDLE (0.0018s)
[8] => -> NET_SFTP_CLOSE (0.0005s)
[9] => <- NET_SFTP_STATUS (0.0009s)
[10] => -> NET_SFTP_OPENDIR (0.0005s)
[11] => <- NET_SFTP_HANDLE (0.0017s)
[12] => -> NET_SFTP_READDIR (0.0004s)
[13] => <- NET_SFTP_NAME (0.001s)
[14] => -> NET_SFTP_READDIR (0.0004s)
[15] => <- NET_SFTP_STATUS (0.0009s)
[16] => -> NET_SFTP_CLOSE (0.0004s)
[17] => <- NET_SFTP_STATUS (0.001s)
[18] => -> NET_SFTP_OPEN (0.0005s)
[19] => <- NET_SFTP_STATUS (0.001s)
[20] => -> NET_SFTP_OPENDIR (0.0005s)
[21] => <- NET_SFTP_HANDLE (0.0017s)
[22] => -> NET_SFTP_READDIR (0.0004s)
[23] => <- NET_SFTP_NAME (0.0011s)
[24] => -> NET_SFTP_READDIR (0.0004s)
[25] => <- NET_SFTP_STATUS (0.001s)
[26] => -> NET_SFTP_CLOSE (0.0004s)
[27] => <- NET_SFTP_STATUS (0.0009s)
[28] => -> NET_SFTP_OPEN (0.0005s)
[29] => <- NET_SFTP_STATUS (0.0009s)
[30] => -> NET_SFTP_OPEN (0.0002s)
[31] => <- NET_SFTP_STATUS (0.0009s)

我愿意接受建议。

$filename值是什么样子的请举几个例子。sftp->getSFTPLog到底返回了什么?是的,我同意Martin的回答。查看日志会有所帮助。此外,SSH日志还可以定义“NET_SSH2_LOGGING”,NET_SSH2_LOG_COMPLEX;$filename看起来像File_2015_01_27.txt$sftp->getSFTPErrors返回NET\u sftp\u STATUS\u NO\u这样的文件:File not found$sftp->getSFTPLog返回一个数组。太长了,所以我会把它贴在上面。