phpstorm如何与Ubuntu服务器协同工作
导读:整体思路 通过 SSH 将 PHPStorm 与 Ubuntu 服务器打通,使用远程解释器执行代码、用 SFTP 同步文件、按需对接 Apache/Nginx + PHP-FPM 或 PHP 内置服务器,并配合 Xdebug 进行断点调试。...
整体思路 通过 SSH 将 PHPStorm 与 Ubuntu 服务器打通,使用远程解释器执行代码、用 SFTP 同步文件、按需对接 Apache/Nginx + PHP-FPM 或 PHP 内置服务器,并配合 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(本地项目路径 ↔ 服务器目录)
- 远程内置服务器(推荐用于快速调试):Run >
Edit Configurations >
+ >
PHP Built-in Web Server
三、远程调试配置
- 服务器安装 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
- Xdebug 3 常用配置:
- 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
