.idea/deployment.xml 是 PhpStorm 项目中的部署配置文件,记录 SFTP 主机、根路径、上传规则及自动同步开关等,由 IDE 自动维护,直接影响右键上传和自动上传功能。

PhpStorm 的 deployment.xml 是什么
项目中的 deployment.xml 文件(路径通常为 .idea/deployment.xml)记录了你配置的远程部署行为:比如 SFTP 主机、根路径、上传/下载规则、自动同步开关等。它不是代码,但直接影响「右键 → Upload to…」或「自动上传」是否生效。这个文件由 PhpStorm 自动生成和维护,**不会被 Git 默认忽略**——如果你没手动加进 .gitignore,它大概率已随项目提交;但如果用了 .idea 目录全局忽略策略,它就容易丢失。
备份 deployment.xml 的三种可靠方式
别依赖「Export Settings」——它不导出 deployment.xml,只管 IDE 级配置。真正要保部署配置,得盯住项目级文件:
- 直接复制
.idea/deployment.xml到安全位置(如~/backups/myproject-deploy-20261009.xml),最轻量、无依赖 - 把整个
.idea目录打包:tar -czvf myproject-idea-backup.tar.gz .idea/,适合连带备份 run configurations、scopes、vcs.xml 等关联设置 - 用 Git 管理(推荐):
git add .idea/deployment.xml && git commit -m "backup deploy config",前提是确认团队允许提交部分.idea文件;若已全局忽略.idea/,可单独取消忽略:git add -f .idea/deployment.xml
为什么改了 deployment.xml 不生效
PhpStorm 会缓存部署配置,直接编辑 deployment.xml 文件后,IDE 不会自动重载。必须做两件事:
- 重启 PhpStorm,或
- 在 Settings → Build, Execution, Deployment → Deployment 中,删掉现有配置再重新添加一次(触发重新解析 XML)
另外注意:如果项目启用了「.idea 目录共享」模式(Settings → Appearance & Behavior → System Settings → Share project configuration files),deployment.xml 会被视为可共享项;但若设为「per user」,该文件可能根本不会生成——此时部署配置只存在本地内存里,关 IDE 就丢。
立即学习“PHP免费学习笔记(深入)”;
跨机器恢复时最容易漏的一点
deployment.xml 里存的是绝对路径(比如 <option name="path" value="/home/alice/project/src" />),换到另一台机器,路径对不上会导致「Upload to…」失败但无提示。恢复前务必打开文件,用文本编辑器批量替换旧路径为新路径,或改用相对路径(需配合 deployment.xml 中的 isRelative 属性设为 true,但 PhpStorm GUI 不提供该开关,只能手改 XML 并重启生效)。


















