首页主机资讯phpstorm如何与Ubuntu上的Web服务器协同工作

phpstorm如何与Ubuntu上的Web服务器协同工作

时间2026-01-20 14:31:03发布访客分类主机资讯浏览1430
导读:整体思路 在 Ubuntu 上准备并运行 Apache/Nginx + PHP-FPM,确保 Web 与 PHP 正常协同。 在 PhpStorm 中配置与服务器的 SFTP 部署(自动/手动上传)与 远程解释器(可选,用于 CLI 运行...

整体思路

  • Ubuntu 上准备并运行 Apache/Nginx + PHP-FPM,确保 Web 与 PHP 正常协同。
  • PhpStorm 中配置与服务器的 SFTP 部署(自动/手动上传)与 远程解释器(可选,用于 CLI 运行与测试)。
  • 安装并配置 Xdebug 3,打通 PhpStorm 远程调试(断点、变量、堆栈查看)。
  • 通过浏览器触发请求(可配合 XDEBUG_SESSION_START=PHPSTORM 或浏览器扩展)即可命中断点进行调试。

一 准备 Ubuntu 上的 Web 与 PHP 环境

  • 安装 Web 与 PHP(以 PHP 8.1 为例,可按需调整版本):
    • Apache:sudo apt install apache2 libapache2-mod-php8.1
    • Nginx:sudo apt install nginx php8.1-fpm
    • 通用:sudo apt install php8.1 php8.1-cli php8.1-mysql php8.1-curl 等常用扩展
  • 启动并设置开机自启:
    • sudo systemctl enable --now apache2 或 sudo systemctl enable --now nginx
    • sudo systemctl enable --now php8.1-fpm
  • 目录与权限(示例):
    • 网站根目录常用 /var/www/html;确保运行用户(如 www-data)对项目目录有读写权限。
  • 防火墙放行(如使用 ufw):
    • sudo ufw allow 80,443/tcp 或 sudo ufw allow ‘Nginx Full’ / ‘Apache Full’。

二 在 PhpStorm 配置与服务器的协同

  • SFTP 部署(代码同步)
    • 打开 Tools → Deployment → Configuration → + → SFTP,填写:
      • Host(服务器 IP/域名)、Port(默认 22)、User、Password/密钥
      • Root path:服务器项目根目录(如 /var/www/html
      • Mappings:Local path → Deployment path on server(项目根目录映射为 /
    • 可选:Tools → Deployment → Automatic Upload(Always),保存即自动同步。
  • 远程解释器(用于 CLI 命令、单元测试等)
    • File → Settings → PHP → CLI Interpreter → Add → Remote (SSH),选择或新建 SSH 配置,指定 PHP 可执行文件路径(如 /usr/bin/php8.1),测试连接后应用。

三 配置 Xdebug 3 与 PhpStorm 远程调试

  • 安装 Xdebug(与 PHP 版本匹配):
    • sudo apt install php8.1-xdebug
  • 配置 Xdebug(推荐在 /etc/php/8.1/mods-available/xdebug.ini 中统一设置):
    • zend_extension=xdebug.so
    • xdebug.mode=debug
    • xdebug.client_host=127.0.0.1
    • xdebug.client_port=9003
    • xdebug.start_with_request=yes
    • xdebug.idekey=PHPSTORM
  • 重启服务使配置生效:
    • Apache:sudo systemctl restart apache2
    • Nginx + PHP-FPM:sudo systemctl restart php8.1-fpm & & sudo systemctl restart nginx
  • PhpStorm 调试设置
    • File → Settings → PHP → Debug:确保 Debug port = 9003
    • File → Settings → PHP → Servers:新建服务器,Name 任意;Host 为服务器域名/IP;Port 80/443;Debugger 选 Xdebug
      • 若项目在子目录(如 /var/www/html/myapp),将 Absolute path on the server 设为该目录,确保路径映射正确
    • 启动监听:点击工具栏 电话听筒 图标(Start Listening for PHP Debug Connections)
  • 触发调试
    • 浏览器访问目标 URL,附加参数:?XDEBUG_SESSION_START=PHPSTORM
    • 或使用 Xdebug Helper 等浏览器扩展一键开启调试会话
    • 命中 断点 后可在 PhpStorm 查看变量、调用堆栈并单步执行。

四 常见问题与排查要点

  • 端口连通性
    • 确认 9003(Xdebug)未被占用:ss -lntp | grep 9003
    • 云服务器需放行 22/80/443;本地虚拟机注意网络模式(桥接/NAT)与端口转发
  • 路径映射
    • PhpStorm 的 Servers → Absolute path on the server 必须与服务器实际项目路径一致,否则断点无法命中
  • Xdebug 版本差异
    • Xdebug 2 使用 xdebug.remote_enable/remote_autostart;Xdebug 3 使用 xdebug.mode=debug 等新参数,混用会导致不生效
  • Web 服务器与 PHP-FPM
    • Nginx 需将 .php 请求转发给 PHP-FPM(如 fastcgi_pass unix:/run/php/php8.1-fpm.sock; ),修改后记得重启 Nginx
  • 权限与所有权
    • 确保 Web 服务用户对部署目录有合适权限(如 www-data 所属,目录 755、文件 644

五 快速验证清单

  • 在服务器:echo “< ?php phpinfo(); ” > /var/www/html/info.php,浏览器访问 http://服务器IP/info.php 能看到 PHP 信息
  • 在 PhpStorm:配置好 SFTP 后,做一次手动 Upload,刷新服务器页面验证文件已更新
  • 在 PhpStorm:开启 监听,浏览器访问 http://服务器IP/your-app/?XDEBUG_SESSION_START=PHPSTORM,确认 断点命中 与变量面板可用

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: phpstorm如何与Ubuntu上的Web服务器协同工作
本文地址: https://pptw.com/jishu/787261.html
phpstorm如何配置Ubuntu上的防火墙 phpstorm如何连接Ubuntu上的MySQL数据库

游客 回复需填写必要信息