phpstorm导出项目必须通过file→export to archive(导出为归档),支持zip/tar.gz格式,手动勾选排除.git/.idea等目录,deployment仅同步文件不打包。

PhpStorm 本身不提供“打包为 ZIP 后直接走 Deployment 上传”的一体化操作——Export to Archive 和 Deployment 是两条独立路径,混用会出问题。
导出 ZIP 必须用 File → Export to Archive
这不是 Deployment 功能,也不是右键菜单里的“Upload”选项。很多人误点 Deployment → Upload to…,结果只传了零散文件,没压缩、没排除 .idea 或 vendor,还漏了隐藏文件。
- 正确入口:顶部菜单
File → Export to Archive(中文界面显示为「导出为归档」) - 支持格式只有
.zip和.tar.gz,不能选.phar或自定义压缩参数 - 界面上有「Include dependencies」勾选项,但实际只影响是否包含
vendor/目录——它不会自动运行composer install,只是原样打包 - 排除逻辑靠手动取消勾选:在弹窗的文件树里,展开后取消勾选
.git、.idea、node_modules等目录(注意:不支持通配符或正则)
Deployment 不处理打包,只做文件同步
Deployment 的本质是 rsync-style 文件搬运工,不是构建工具。它把本地文件逐个比对、上传,不生成中间 ZIP 包,也不做任何压缩或过滤。
- 如果你在
Deployment → Configuration里设置了Excluded Paths,比如填了**/.git/**,那只是上传时跳过这些路径,不影响本地磁盘内容 - 「Sync with deployment」不会触发打包动作,也不会校验 ZIP 完整性;上传失败时,错误信息通常是
Connection refused或Permission denied,和打包无关 - 想让远程服务器拿到 ZIP 包?得先用
Export to Archive生成好,再用系统命令scp或rsync手动传过去——PhpStorm 不接管这一步
常见错误:误以为「Upload to…」=「打包并上传」
这是最典型的认知偏差。右键项目 → Deployment → Upload to… 只是把当前选中文件/目录按映射关系推到服务器指定路径,不做任何归档、压缩、排除处理。
- 现象:上传后远程出现一堆
.idea/、composer.lock、甚至phpstorm64.exe(Windows 用户复制了整个安装目录) - 原因:没配置
Excluded Paths,也没提前清理,更没意识到这只是“裸文件搬运” - 补救:进
Settings → Build, Execution, Deployment → Console → Terminal,把终端 Shell 切成 Bash,然后在项目根目录手动跑:tar -czf deploy.tar.gz . --exclude=.git --exclude=.idea --exclude=vendor
真正需要 ZIP 包交付时,别绕弯子——老老实实用 File → Export to Archive;真要自动化部署,就别依赖 PhpStorm GUI,写个 deploy.sh 调用 tar + scp,不然每次都要手动点、手动取消勾选、手动检查排除项。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










