phpstorm的ftp上传配置在tools > deployment > configuration…中,需添加sftp服务器(端口22)、设置本地与远程路径映射、勾选自动上传选项并检查权限与路径一致性。

FTP部署配置在哪找
PhpStorm 的 FTP 上传功能藏在 Tools > Deployment > Configuration... 里,不是在设置里的“服务器”或“远程开发”选项卡下。很多人点错位置,反复刷新也看不到“+”号添加服务器——其实是因为没进对入口。
进入后默认是空列表,点击左上角 +,选 SFTP(哪怕你用的是纯 FTP,也优先选 SFTP;FTP 协议本身不加密、不稳定,PhpStorm 从 2021.3 起已标记为弃用)。
常见错误现象:Connection refused 或 Authentication failed,大概率是填错了端口(SFTP 默认是 22,不是 21)或用户名写成邮箱全称(比如 user@example.com,实际只需 user)。
怎么让保存自动上传
自动上传靠的是映射关系 + “上传策略”,不是开了“自动同步”就完事。必须先完成两步:① 在 Deployment 配置中设置好服务器;② 点击右下角 Options → 勾选 Upload changed files automatically to the default server。
但真正起作用的细节在下面三个选项里:
-
Always:每次 Ctrl+S 就传,适合小项目,但改个注释也会触发上传 -
On explicit save action (Ctrl+S):仅响应手动保存,推荐 -
On program exit:退出时统一传,风险高——断网或崩溃就丢文件
注意:Upload changed files automatically 不会上传新创建但未保存的文件(比如新建 test.php,写了内容但没 Ctrl+S),它只管“已保存的变更”。
本地路径和远程路径怎么配才不乱
关键不是“填对”,而是“对齐”。Mapping 标签页里有三栏:Local path、Deployment path on server、Web path。
Local path 必须是项目根目录的绝对路径(比如 /Users/me/project),不能是相对路径或 .;Deployment path on server 是服务器上的完整路径(比如 /var/www/html),两者要一一对应,否则上传后文件会嵌套错层(例如本地 index.php 传到服务器变成 /var/www/html/Users/me/project/index.php)。
容易踩的坑:
- 本地路径末尾带斜杠(
/project/)而远程不带(/var/www/html),会导致多一层空目录 -
Web path填错会影响“在浏览器中打开”功能,但不影响上传本身,可先留空 - 如果项目用子目录部署(如
https://example.com/myapp/),Deployment path应该是/var/www/html/myapp,不是/myapp
为什么上传后网站没变
最常见原因是权限或路径偏差:上传成功了,但 PHP 没读到新文件。先看 PhpStorm 底部状态栏有没有 Uploaded 1 file 提示,再登录服务器确认文件时间戳是否更新。
排查顺序:
- 用
ls -l看文件属主和权限——如果上传后属主变成ftpuser,但 Web 服务跑在www-data下,且没开组读,就会 500 - 检查是否启用了
Excluded Paths(在Options里),误把public或dist加进去了 - 确认没勾选
Exclude items by name里的*.log或.env——有时连.htaccess都被过滤了 - 如果是 Laravel 等框架,
storage和bootstrap/cache目录通常不上传,但php artisan config:cache生成的缓存文件需要手动清
复杂点在于:上传动作本身很稳定,但“生效”依赖整个环境链路。一个 chmod 644 没跟上,或者 Nginx root 指向了旧版本目录,都会让你盯着“上传成功”发呆十分钟。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











