SFTP上传明明显示成功,但远程文件纹丝不动?问题很可能出在这几个地方:远程目录缺少写和执行权限、SSH的StrictModes在背后作梗、preserve_modification_times在特定环境下引发协议冲突,或者upload_on_sa ve的路径映射规则没对上。

解决Sublime Text中SFTP同步权限导致的写失败

remote_path目录缺w/x权限导致静默失败

明明提示“Upload completed”,远程文件却纹丝未变——十有八九是远程目录的权限在使绊子。SFTP上传可不是简单覆盖文件那么简单,它背后有一整套流程:创建临时文件、重命名、删除旧文件。这一步一步,都依赖于目录的w(写)和x(执行/进入)权限。缺了哪个,都可能导致静默失败。

SSH StrictModes开启引发只读降级

服务器/etc/ssh/sshd_configStrictModes on(这是OpenSSH的默认设置)的时候,只要~/.ssh/authorized_keys的权限不是600,或者属主不对,SSH连接就会悄悄降级为密码认证。而SFTP插件如果没配password字段,结果就是静默只读——不报错,也不上传,让你摸不着头脑。

sftp-config.json里preserve_modification_times设错

在NFS挂载、Docker容器卷或者某些云存储后端上,preserve_modification_times: true(默认值)会导致上传后时间戳同步失败,进而触发SFTP协议层拒绝写入——表现就是文件内容没更新,日志里可能只有个Failure,没有具体错误信息。

upload_on_sa ve生效但被路径映射规则过滤

upload_on_sa ve: true不是全局开关——它只对“当前文件路径匹配remote_path映射规则”的文件生效。你改了/src/js/app.js,但remote_path设的是"/var/www/html/",那它根本不会触发上传,插件连试都不试。

实际调试中,最容易踩坑的是整条路径的x权限和StrictModes的连锁反应——它们不报错,只沉默拒绝。建议你先跑一遍touch + rm测试,再检查authorized_keys权限,比反复折腾配置要高效得多。

本文转载于:https://www.php.cn/faq/2820427.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。