文件DOES存在时找不到phpseclib文件

时间:2015-01-27 05:08:53

标签: php sftp phpseclib

我已经使用phpseclib 2年没有瑕疵,突然间sftp" get()"函数开始给我NET_SFTP_STATUS_NO_SUCH_FILE:找不到文件。

我有一个如下所示的循环:

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用户可以完全访问文件夹和文件。

我已经尝试了

定义(' NET_SFTP_LOGGING',NET_SFTP_LOG_COMPLEX);

用于调试,但没有解决问题。

这是$ 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)

我愿意接受建议。

0 个答案:

没有答案