我正在使用 phpseclib 将文件上传到远程服务器。以前,我的脚本运行良好,但几周前它似乎已停止工作。我得到一个
NET_SFTP_STATUS_NO_SUCH_FILE: File not found from $sftp->put.
问题是要上传到服务器的文件确实存在。另外,该代码以前可以正常工作。
由于该脚本之前可以运行,似乎目标服务器的某些设置可能已更改。
有没有人有解决此问题的任何想法或建议?
最佳答案
我昨天才遇到这个问题。就我而言,我以错误的顺序传递本地/远程文件名,例如
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)
关于phpseclib NET_SFTP_STATUS_NO_SUCH_FILE : File not found when file DOES exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13827278/