我正在使用phpseclib将文件上传到远程服务器。以前,我的脚本工作正常,但几周前它似乎已停止工作。我正在接受
NET_SFTP_STATUS_NO_SUCH_FILE:找不到$ sftp-> put中的文件。
问题是要上传到服务器的文件确实存在。此外,代码以前仍然有效。
由于脚本以前正在运行,似乎可能某些目标服务器的设置可能已更改。
有没有人对此进行故障排除有任何想法或建议?
答案 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)