温馨提示×

phpstorm怎样在Ubuntu上部署代码

小樊
39
2025-11-15 06:32:27
栏目: 编程语言

在 Ubuntu 上使用 PhpStorm 部署代码的实用方案


一 部署方式与选择

  • 推荐按场景选择:
    • 持续交付/团队协作:使用 SFTP/FTPS 自动同步rsync over SSH,配合版本控制(如 Git)。
    • 容器化/一致性环境:使用 Docker 镜像构建与部署(适合生产)。
    • 远程解释器 + 本地运行:在 Ubuntu 上配置 远程 PHP 解释器,在本机运行与调试,再同步产物到服务器。

二 方案一 SFTP 自动同步到 Ubuntu 服务器(最常用)

  • 前置准备
    • Ubuntu 开启 SSH 服务:sudo systemctl enable --now ssh
    • 建议创建专用部署用户并配置 SSH 密钥登录(禁用密码更安全)。
  • PhpStorm 配置步骤
    1. 打开 Tools > Deployment > Configuration,点击 + 新建服务器,类型选 SFTP
    2. 填写 Host(服务器 IP/域名)、Port 22User、认证方式(推荐 Key pair),测试连接。
    3. Mappings 标签页设置:
      • Local path:本地项目根目录
      • Deployment path on server:服务器上的项目路径(如 /var/www/html/project
    4. Deployment > Options 勾选 Upload changed files automatically to the default server(保存即自动上传)。
    5. 如需首次全量同步: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 配置步骤
    1. 打开 File > Settings > Languages & Frameworks > PHP,点击 … > Add,选择 Remote(SSH)。
    2. 填写 HostPort 22User,选择 Key pair 或密码,指定远程 PHP 可执行文件路径(可用 which php 查看),测试连接。
    3. 打开 Run > Edit Configurations,新建 PHP Web PagePHP Built-in Web Server
      • 选择刚才的 远程解释器
      • 配置 Server(Name、Host、Port、Debugger:Xdebug)
      • 设置 Start URL(如 /index.php
    4. 在浏览器中访问对应地址,点击调试工具栏的 绿色虫子 开始断点调试。
  • 说明
    • 该方式在 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 路径
    • which 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 自动部署远程解释器调试 的主流做法;根据你的项目规模与团队规范选择其一或组合使用即可。

0