温馨提示×

PHPStorm在Ubuntu上的远程开发怎么实现

小樊
43
2025-12-26 16:29:10
栏目: 编程语言

在 Ubuntu 上使用 PhpStorm 进行远程开发

一 方案总览与选择

  • 远程解释器 + 部署(SFTP):本地编辑,借助 SSH/SFTP 将代码同步到远程服务器,运行与调试使用远程 PHP 解释器。适合已有服务器、希望保留现有运行环境的团队。
  • 远程开发 Gateway(JetBrains Client):在远程服务器启动 IDE 后端,本地用 JetBrains Client 连接,代码与运行环境全在远端,适合资源不足或强调安全合规的场景。
  • WSL2 场景:若你的“本地”是 Windows 10/11 + WSL2(Ubuntu),可直接在 WSL 中安装 PHP 并用 PhpStorm 本地连接,无需跨机部署。
    以上三种方式均可在 Ubuntu 上落地,按团队与资源选择其一或混合使用。

二 方案一 远程解释器与 SFTP 部署(最常用)

  • 前置准备
    • 远程服务器安装 OpenSSH 服务 并确保可登录(建议用 SSH 密钥,更安全):
      sudo apt update && sudo apt install -y openssh-server
      sudo systemctl enable --now ssh
    • 远程安装 PHP(按项目选择版本与扩展):
      sudo apt install -y php php-cli php-mbstring php-xml php-curl php-mysql
  • PhpStorm 配置远程解释器
    • 打开 File > Settings > Languages & Frameworks > PHP > CLI Interpreter > Add > Remote
    • 选择 SSH,填写 Host/Port/Username,认证方式选 Key pair(推荐)或 Password。
    • 指定远程 PHP 路径(可用 which php 查看,如 /usr/bin/php),点击 Test Connection 验证。
  • 配置 Deployment(SFTP 同步)
    • 打开 File > Settings > Build, Execution, Deployment > Deployment > + > SFTP
    • 填写 SFTP Host/Port/Root path(如 /var/www/html/my_project),在 Mappings 中设置本地与远程目录映射。
    • 可开启 Tools > Deployment > Automatic Upload 自动同步。
  • 运行与访问
    • 新建运行配置:Run > Edit Configurations > + > PHP Built-in Web Server
    • 指定 Document root(远程项目目录)与本地访问 Port(如 8080),Interpreter 选择前面创建的远程解释器。
    • 浏览器访问 http://localhost:8080 即可查看远程项目。
      该方案稳定、门槛低,适合大多数团队与项目形态。

三 方案二 远程开发 Gateway(JetBrains Client)

  • 安装插件:在 PhpStorm 欢迎界面或 File > Settings > Plugins 启用 Remote Development Gateway
  • 建立连接:欢迎界面选择 Remote Development > SSH,填写 IP/端口/用户名/认证方式 并连接。
  • 启动后端:选择 IDE 版本来源(自动下载或本地上传),指定远程解压路径,Gateway 将自动部署并启动后端。
  • 打开项目:连接成功后,本地会启动 JetBrains Client,像本地 IDE 一样操作远端项目与运行调试。
    此方式将计算与代码留在远端,本地仅负责交互,适合对资源与合规要求较高的团队。

四 远程调试 Xdebug 3 配置(可选)

  • 远程安装并启用 Xdebug:
    sudo apt install -y php-xdebug
  • 编辑远程 php.ini(CLI 或 FPM 均可,建议一致),添加:
    zend_extension=/usr/lib/php/<版本号>/xdebug.so
    xdebug.mode=debug
    xdebug.client_host=127.0.0.1
    xdebug.client_port=9003
    xdebug.start_with_request=yes
    说明:若服务器与调试客户端不在同一网络,需将 client_host 设为可到达的地址,或通过 SSH 反向隧道 将本地 9003 转发到服务器。
  • PhpStorm 调试
    • 打开 Run > Edit Configurations > + > PHP Remote Debug,设置 IDE key(如 PHPSTORM)
    • 启动 Start Listening for PHP Debug Connections,访问
      http://localhost:8080?XDEBUG_SESSION_START=PHPSTORM
      命中断点后可在调试窗口查看变量与调用栈。
  • 常见问题排查
    • 断点未命中:检查 Settings > PHP > Servers 的路径映射是否正确。
    • 连接失败:确认防火墙放行 9003,并用 telnet 远程IP 9003 测试连通性;必要时开启 xdebug.log 定位问题。
      以上配置基于 Xdebug 3,端口默认 9003,与 PhpStorm 保持一致即可。

五 常见问题与优化

  • 权限与目录:远程项目目录建议使用 755/775,避免 777;确保部署用户对目录有读写权限。
  • 防火墙与端口:开放 SSH 22 与调试端口 9003;如使用云服务器,还需在控制台安全组放行。
  • 密钥登录:优先使用 SSH 密钥,在 ~/.ssh/authorized_keys 管理公钥,提升安全性与便利性。
  • 性能优化:在 Deployment > Options 中排除 node_modules、日志与缓存目录,减少同步与索引开销。
    这些实践能显著降低连接与运行问题的概率,并提升日常开发效率。

0