3

我正在使用 phpseclib 将文件上传到远程服务器。以前,我的脚本运行良好,但几周前它似乎已经停止运行。我得到一个

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

问题是要上传到服务器的文件确实存在。另外,无论如何,该代码以前都可以使用。

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

有没有人有任何解决此问题的想法或建议?

4

1 回答 1

6

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

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)
于 2012-12-14T16:29:10.360 回答