phpseclib NET_SFTP_STATUS_NO_SUCH_FILE:文件存在时找不到文件

时间:2012-12-11 19:41:30

标签: php sftp phpseclib

我正在使用phpseclib将文件上传到远程服务器。以前,我的脚本工作正常,但几周前它似乎已停止工作。我正在接受

  

NET_SFTP_STATUS_NO_SUCH_FILE:找不到$ sftp-> put中的文件。

问题是要上传到服务器的文件确实存在。此外,代码以前仍然有效。

由于脚本以前正在运行,似乎可能某些目标服务器的设置可能已更改。

有没有人对此进行故障排除有任何想法或建议?

1 个答案:

答案 0 :(得分:3)

我昨天才遇到这个问题。就我而言,我以错误的顺序传递本地/远程文件名,例如

if($sftp->put($filename,$filenameRemote,NET_SFTP_LOCAL_FILE))

但在将其更改为

之后
($sftp->put($filenameRemote, $filename, NET_SFTP_LOCAL_FILE)) 

它工作正常。

由于这在过去对您有用,我肯定会查看它们所在的本地/远程文件或目录的权限。此外,如果您还没有,请启用调试以获取更多详细信息

define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX)