商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Sublime Text 3使用SFTP插件上传代码至服务器

Sublime Text 3使用SFTP插件上传代码至服务器

  发布于2026-07-02 阅读(0)

扫一扫,手机访问

Sublime Text 3,搭配原版 SFTP 插件(作者 wbond 那个),只要调教得当,上传代码到服务器能稳得像老黄牛。但前提是——嗯,三个硬性条件,一个都不能少:插件得通过 Package Control 安装、项目必须已绑定、sftp-config.json 要放在正确位置且字段无误。缺了任何一环,你会发现右键菜单没了、保存不触发上传、甚至连个错误提示都看不见,活生生一个“静默失败”。

Sublime Text 3使用SFTP插件上传代码至服务器

怎么确认你装的是 ST3 兼容的 SFTP 插件

版本对不上,什么都是白搭。ST3 和 ST4 的插件世界完全是两套生态。怎么确认?打开 Help → About Sublime Text 看一眼:如果是 Build 3xxx(比如 3211),那就是 ST3;要是显示 Build 41xx,别费劲了,你用的其实是 ST4,原版 SFTP 安装后直接报 ImportError: No module named urllib2,不是插件不好使,是路走反了。

  • Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: Install Package 回车
  • 等列表加载完,搜 SFTP,认准作者 wbond 那个,别选错了 sftp-clientFTPSync
  • 安装完成后必须重启 Sublime,不然 Project 菜单里看不到 SFTP 项,右键也不会有上传菜单——这步很多人会跳过

sftp-config.json 必须放对位置、写对名字

这个配置文件不是全局的,它只对“你右键的那个文件夹”生效。名字、路径、大小写,错一个字符,插件就静默忽略——不报错、不提醒、不上传,等于不存在。

  • 文件名必须全小写、带连字符、扩展名 .json:sftp-config.json(不是 SFTP-config.jsonsftp_config.jsonsftp-settings.json
  • 必须放在本地项目根目录下,也就是你通过 Project → Add Folder to Project 加进侧边栏的那个文件夹里
  • remote_path 必须以 / 开头,比如 "/var/www/html";结尾不加 / 也行,但加上更安全,能避免路径拼接偏移
  • 密钥登录时,删掉 password 字段,只留 ssh_key_file,值填绝对路径:"ssh_key_file": "/home/you/.ssh/id_rsa"(Linux/macOS)或 "ssh_key_file": "C:/Users/you/.ssh/id_rsa"(Windows)

upload_on_sa ve 不生效?先看项目有没有“映射”

"upload_on_sa ve": true 写在配置里了,但保存后服务器上一动不动——别着急骂插件,十有八九是 Sublime 根本不知道该把当前文件传到哪里去。它只对“已映射的项目内文件”触发上传。

  • 右键侧边栏里的项目根文件夹 → SFTP → Map to Remote…,这步会自动生成 sftp-config.json 并完成绑定
  • 如果你手动新建了 sftp-config.json 但没执行 Map to Remote,插件不会认这个配置,等于白干
  • 打开单个文件(没项目)、或项目里打开桌面某个 .js 文件,upload_on_sa ve 都不会触发
  • 上传大文件时 UI 可能卡住,建议先关掉 upload_on_sa ve,用 Ctrl+Shift+P → SFTP: Upload File 手动试一次,确认基础功能正常再启用自动上传

上传成功但 PHP 报 500?别怪插件,查权限和 SELinux

SFTP 插件只负责把字节写过去,不处理 Web 服务器上下文。上传后页面崩了,大概率是权限或系统策略拦住了路。

  • 默认上传文件权限是 644,目录是 755;某些启用了 suPHPopen_basedir服务器要求脚本属主匹配、权限为 600644,不匹配就报 500
  • 可以在 sftp-config.json 里加 "file_permissions": "644""dir_permissions": "755",但前提是你确认服务器接受这个组合
  • 更稳妥的做法是上传后立刻执行远程命令:SFTP → Execute Command → 输入 chmod 644 index.php
  • 如果总看到 Failed to write file 却提示 “Success”,登录服务器ausearch -m a vc -ts recent 查 SELinux 拦截日志——这玩意儿经常不声不响就把权限卡死了

说到底,最容易被跳过的其实是项目绑定和配置文件位置。90% 的“连不上”“不上传”问题,根源不在 SSH 或网络,而在 Sublime 没认出你在操作哪个项目。动手前先确认 Project → Add Folder to Project 和右键 Map to Remote 这两步做完了,比反复改 JSON 有用得多。

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

热门关注