阅读量:31
1. 准备工作
确保远程Debian服务器已安装PHP(如php-cli、php-fpm或php-apache)和Composer(可选,用于依赖管理)。可通过以下命令快速安装基础环境:
sudo apt update && sudo apt install php php-cli php-fpm composer -y
2. 安装Xdebug扩展
通过PECL(推荐,适配最新PHP版本)或APT安装Xdebug:
方法一:PECL安装(适用于自定义编译的PHP)
sudo pecl install xdebug
方法二:APT安装(适用于系统默认PHP包)
sudo apt install php-xdebug -y
安装完成后,通过php -m | grep xdebug验证扩展是否加载。
3. 配置Xdebug参数
编辑PHP配置文件(根据PHP运行模式选择对应文件,如FPM用/etc/php/8.2/fpm/php.ini,CLI用/etc/php/8.2/cli/php.ini):
sudo nano /etc/php/8.2/fpm/php.ini
在文件末尾添加以下配置(关键参数说明):
[xdebug]
; 加载Xdebug扩展(路径可通过`php -i | grep extension_dir`获取)
zend_extension=xdebug.so
; 开启调试模式(Xdebug 3+必需)
xdebug.mode=debug
; 指定IDE监听的IP(需替换为本地机器IP,如192.168.1.100)
xdebug.client_host=192.168.1.100
; 指定IDE监听的端口(默认9003,需与PHPStorm一致)
xdebug.client_port=9003
; 自动启动调试(无需手动传递参数)
xdebug.start_with_request=yes
; IDE标识(需与PHPStorm配置一致)
xdebug.idekey=PHPSTORM
保存后重启PHP服务:
sudo systemctl restart php8.2-fpm # 若使用Apache,替换为`sudo systemctl restart apache2`
4. 配置PHPStorm
4.1 添加远程服务器
- 打开PHPStorm,进入
File > Settings > Languages & Frameworks > PHP > Servers。 - 点击
+添加服务器,填写:- Name:自定义名称(如
Debian-Remote); - Host:远程服务器IP(如
192.168.1.100); - Port:HTTP端口(如
80或443); - Debugger:选择
Xdebug; - (可选)勾选
Use path mappings,将远程项目路径(如/var/www/html/myproject)映射到本地项目路径(如/home/user/myproject)。
- Name:自定义名称(如
- 点击
OK保存。
4.2 配置调试环境
- 进入
Run > Edit Configurations,点击+添加PHP Remote Debug。 - 填写:
- Name:自定义名称(如
Debian-Debug); - Server:选择上一步添加的服务器;
- Debugger mode:选择
Attach to remote host; - IDE key:
PHPSTORM(与Xdebug配置一致)。
- Name:自定义名称(如
- 点击
OK保存。
4.3 验证PHP解释器
- 进入
File > Settings > Languages & Frameworks > PHP。 - 点击
...添加远程解释器,选择SSH Interpreter,输入远程服务器IP、用户名及密码/密钥。 - 在
Interpreter栏选择远程PHP路径(如/usr/bin/php),点击Finish。
5. 启动调试会话
- 在PHPStorm中打开项目,点击顶部工具栏的虫子图标(或按
Shift+F9)启动监听。 - 在代码中设置断点(点击行号左侧)。
- 在浏览器中访问远程项目(如
http://192.168.1.100/myproject/index.php),触发断点。 - PHPStorm会自动暂停执行,可通过调试工具栏(单步执行、查看变量、表达式等)进行调试。
6. 常见问题排查
- 防火墙拦截:确保远程服务器防火墙允许
xdebug.client_port(如9003)的入站连接:sudo ufw allow 9003/tcp - 路径映射错误:若断点未生效,检查
Servers配置中的Path mappings是否正确映射了远程与本地项目路径。 - Xdebug未加载:通过
php -v查看是否有Xdebug提示,或php -i | grep xdebug确认扩展加载状态。 - 端口冲突:若9003端口被占用,可修改
xdebug.client_port为其他端口(如9004),并同步更新PHPStorm配置。
通过以上步骤,即可在Debian服务器上完成PHPStorm的远程调试配置,实现本地IDE与远程代码的联动调试。