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

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

时间2025-11-19 08:40:03发布访客分类主机资讯浏览738
导读:整体思路 通过 SSH 将 PHPStorm 与 Ubuntu 服务器打通,使用远程解释器执行代码、用 SFTP 同步文件、按需对接 Apache/Nginx + PHP-FPM 或 PHP 内置服务器,并配合 Xdebug 进行断点调试。...

整体思路 通过 SSHPHPStormUbuntu 服务器打通,使用远程解释器执行代码、用 SFTP 同步文件、按需对接 Apache/Nginx + PHP-FPMPHP 内置服务器,并配合 Xdebug 进行断点调试。这样可以在本地舒适编码,在服务器环境运行与调试,保证版本、扩展与依赖的一致性。

一、服务器端准备

  • 安装并启动 SSH 服务,建议使用密钥登录:
    • 安装:sudo apt update & & sudo apt install openssh-server
    • 重启:sudo systemctl restart sshd
    • 安全建议:编辑 /etc/ssh/sshd_config,优先使用密钥(PasswordAuthentication no),必要时再开启密码登录
  • 安装 PHP 及常用扩展(按项目选择版本):
    • 示例:sudo apt install php php-cli php-mbstring php-xml php-curl php-mysql
    • 验证:php -v
  • 准备项目目录与权限(示例):
    • 创建:sudo mkdir -p /var/www/html/my_project
    • 赋权:sudo chown -R $USER:$USER /var/www/html/my_project & & sudo chmod -R 755 /var/www/html/my_project
  • Web 服务两种常见方式(二选一或并存):
    • Apache + PHP:sudo apt install apache2 php libapache2-mod-php php-mysql & & sudo systemctl start apache2 & & sudo systemctl enable apache2
    • Nginx + PHP-FPM:sudo apt install nginx php-fpm php-mysql & & sudo systemctl start php**{ version} -fpm & & sudo systemctl enable php{ version} **-fpm
  • 临时测试可用内置服务器(仅本机访问):cd /var/www/html/my_project & & php -S localhost:8000

二、PHPStorm连接与同步

  • 远程解释器(让 IDE 用服务器上的 PHP):
    • 路径:File > Settings > Languages & Frameworks > PHP > CLI Interpreter > Add > Remote/SSH
    • 填写:Host(服务器 IP/域名)、Port(默认 22)、Username、认证方式(推荐 Key pair
    • 指定远程 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:设置 Local path 与 Deployment path on server(如 / 表示根目录)
    • 可选:Tools > Deployment > Automatic Upload 开启自动同步
  • 运行与访问(两种思路):
    • 远程内置服务器(推荐用于快速调试):Run > Edit Configurations > + > PHP Built-in Web Server
      • Document root:远程项目目录(如 /var/www/html/my_project
      • Port:本地端口(如 8080,避免冲突)
      • Interpreter:选择前述远程解释器
      • 浏览器访问:http://localhost:8080
    • 远程 Web 服务器(Apache/Nginx 场景):Run > Edit Configurations > + > PHP Web Page
      • URL:如 http://服务器IP/myproject
      • Web server:选择已配置的服务器
      • Start URL:如 /myproject/index.php
      • 注意设置 Path mappings(本地项目路径 ↔ 服务器目录)

三、远程调试配置

  • 服务器安装 Xdebug(版本与 PHP 匹配):sudo apt install php-xdebug
  • 编辑 php.ini(路径随 PHP 版本与 SAPI 不同,如 /etc/php/8.1/fpm/php.ini/etc/php/8.1/apache2/php.ini):
    • Xdebug 3 常用配置:
      • zend_extension=xdebug.so
      • xdebug.mode=debug
      • xdebug.start_with_request=yes(或触发式:xdebug.start_with_request=trigger
      • xdebug.client_host=127.0.0.1
      • xdebug.client_port=9003
    • 重启服务:sudo systemctl restart apache2 或 sudo systemctl restart php8.1-fpm
  • PHPStorm 调试:
    • Run > Edit Configurations > + > PHP Remote Debug
    • 选择 Server(与 Deployment 同名),IDE key 用 PHPSTORM
    • 开启工具栏 Listen for connections,在代码设断点,浏览器访问对应 URL 触发调试

四、协作与版本控制

  • 使用 Git:VCS > Checkout from Version Control 选择 Git,填入仓库 URL 克隆到本地;在 PHPStorm 内完成 Commit / Push / Pull、解决冲突、查看历史与分支管理
  • 团队远程调试:统一 xdebug.client_port=9003、约定触发方式(如带 ?XDEBUG_TRIGGER 的 URL),保证服务器防火墙与云安全组放行 9003 端口,便于多人同时调试

五、常见问题与排查

  • 端口与防火墙:确保本地 8080(或其他运行端口)与服务器 9003(Xdebug)未被占用;云服务器需在安全组放行对应端口;必要时执行 sudo ufw allow 端口
  • 权限与属主:Web 目录建议归属 www-data(或相应运行用户)并设 755,例如:sudo chown -R www-data:www-data /var/www/html/my_project
  • 路径映射:Remote/Local 路径不一致时,务必在运行配置或 Remote Debug 中设置正确的 Path mappings,否则断点无法命中
  • 连接方式:优先使用 SSH 密钥(禁用密码或保存在安全存储),在 Deployment 与 Remote Interpreter 中保持 Host/Port/Root Path/Mappings 一致
  • 服务选择:临时调试用 PHP Built-in Web Server 更便捷;生产环境建议使用 Nginx/Apache + PHP-FPM 并配合进程管理、日志与反向代理

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


若转载请注明出处: phpstorm如何与Ubuntu服务器协同工作
本文地址: https://pptw.com/jishu/750827.html
ifconfig中如何配置网络别名 Debian僵尸进程对系统稳定有影响吗

游客 回复需填写必要信息