在 Ubuntu 上使用 PhpStorm 部署代码的实用方案
一 部署方式与选择
- 推荐按场景选择:
- 持续交付/团队协作:使用 SFTP/FTPS 自动同步 或 rsync over SSH,配合版本控制(如 Git)。
- 容器化/一致性环境:使用 Docker 镜像构建与部署(适合生产)。
- 远程解释器 + 本地运行:在 Ubuntu 上配置 远程 PHP 解释器,在本机运行与调试,再同步产物到服务器。
二 方案一 SFTP 自动同步到 Ubuntu 服务器(最常用)
- 前置准备
- Ubuntu 开启 SSH 服务:sudo systemctl enable --now ssh
- 建议创建专用部署用户并配置 SSH 密钥登录(禁用密码更安全)。
- PhpStorm 配置步骤
- 打开 Tools > Deployment > Configuration,点击 + 新建服务器,类型选 SFTP。
- 填写 Host(服务器 IP/域名)、Port 22、User、认证方式(推荐 Key pair),测试连接。
- 在 Mappings 标签页设置:
- Local path:本地项目根目录
- Deployment path on server:服务器上的项目路径(如 /var/www/html/project)
- 在 Deployment > Options 勾选 Upload changed files automatically to the default server(保存即自动上传)。
- 如需首次全量同步:Tools > Deployment > Sync with Deployed…
- 安全与网络建议
- 使用 SSH 密钥 替代密码;必要时配置 UFW 仅放行 22 端口;公网服务器建议限制来源 IP。
- 适用场景
- 传统虚拟机/云主机部署、快速交付、无需容器化的项目。
三 方案二 远程解释器与本地运行调试(适合团队协作与一致性)
- 在 Ubuntu 上准备环境
- 安装 PHP:sudo apt update && sudo apt install php php-cli
- 安装调试扩展(Xdebug 3):sudo apt install php-xdebug
- PhpStorm 配置步骤
- 打开 File > Settings > Languages & Frameworks > PHP,点击 … > Add,选择 Remote(SSH)。
- 填写 Host、Port 22、User,选择 Key pair 或密码,指定远程 PHP 可执行文件路径(可用 which php 查看),测试连接。
- 打开 Run > Edit Configurations,新建 PHP Web Page 或 PHP Built-in Web Server:
- 选择刚才的 远程解释器
- 配置 Server(Name、Host、Port、Debugger:Xdebug)
- 设置 Start URL(如 /index.php)
- 在浏览器中访问对应地址,点击调试工具栏的 绿色虫子 开始断点调试。
- 说明
- 该方式在 Ubuntu 上运行代码 并调试,适合需要一致运行环境的团队;静态文件与产物可按需 rsync/scp 同步到 Nginx/Apache 目录。
四 常见问题与排查要点
- 无法连接 SFTP
- 检查 SSH 服务是否运行(sudo systemctl status ssh)、端口 22 是否开放、用户名/密钥是否正确;云服务器需放行安全组 22 端口。
- 自动上传不生效
- 确认已选中 Default server,并在 Tools > Deployment > Automatic Upload 处于勾选状态;检查 Mappings 路径是否映射正确。
- 权限被拒绝
- 确保部署用户对目标目录(如 /var/www/html)拥有 写权限:sudo chown -R $USER:$USER /var/www/html && sudo chmod -R 755 /var/www/html
- Xdebug 调试连不上
- 确认已安装 php-xdebug,并在 PhpStorm 的 Servers 中正确配置 Host/Port/Debugger;浏览器访问时携带 XDEBUG_SESSION_START 或使用 Bookmarkslet。
- 同步很慢或中断
- 优先使用 SSH 密钥;避免同步 vendor/、日志与缓存目录(可在 Deployment 的 Excluded Paths 中排除)。
五 快速命令清单(便于复制执行)
- Ubuntu 开启 SSH
- sudo systemctl enable --now ssh
- 安装 PHP 与 Xdebug
- sudo apt update && sudo apt install php php-cli php-xdebug
- 查看 PHP 路径
- 部署用户赋权
- sudo chown -R $USER:$USER /var/www/html && sudo chmod -R 755 /var/www/html
- 测试 SFTP 连接(命令行)
- sftp -P 22 user@your_server_ip
以上步骤覆盖了在 Ubuntu 上使用 PhpStorm 进行 SFTP 自动部署 与 远程解释器调试 的主流做法;根据你的项目规模与团队规范选择其一或组合使用即可。