1. 安装并配置Xdebug扩展
首先确保Linux系统已安装PHP环境,然后通过包管理器或源码安装Xdebug(以CentOS为例,使用yum install php-pecl-xdebug;Ubuntu可使用sudo pecl install xdebug)。安装完成后,编辑php.ini文件(路径通常为/etc/php.ini或/etc/php/版本号/cli/php.ini、/etc/php/版本号/fpm/php.ini),添加以下关键配置:
zend_extension=xdebug.so # 加载Xdebug扩展(路径可能为绝对路径,如/usr/lib64/php/modules/xdebug.so)
xdebug.mode=debug # 启用调试模式
xdebug.client_host=127.0.0.1 # 调试客户端IP(本地开发设为127.0.0.1,远程调试设为本地机器IP)
xdebug.client_port=9003 # 调试端口(默认9003,需与PHPStorm配置一致)
xdebug.start_with_request=yes # 自动启动调试(可选:trigger/yes,trigger需通过浏览器参数触发)
xdebug.idekey=PHPSTORM # IDE标识(默认PHPSTORM,需与PHPStorm设置一致)
保存后重启PHP服务(如使用PHP-FPM,执行sudo systemctl restart php-fpm;如使用Apache,执行sudo systemctl restart apache2)。
2. 配置PHPStorm的PHP解释器与调试服务器
File > Settings > Languages & Frameworks > PHP,点击“CLI Interpreter”右侧的齿轮图标,选择“Add”。若为远程调试,选择“SSH Interpreter”,输入远程服务器的IP、用户名、密码(或密钥),并指定PHP可执行文件路径(如/usr/bin/php),点击“OK”保存。File > Settings > Languages & Frameworks > PHP > Servers,点击“+”添加新服务器。填写服务器名称(如“Remote Server”),设置“Host”为远程服务器IP或域名,“Port”为Web服务器端口(如80、443),“Debugger”选择“Xdebug”。勾选“Use path mappings”,将本地项目路径(如/home/user/project)映射到远程服务器路径(如/var/www/html/project),确保路径对应正确。3. 设置断点并启动调试监听
在PHPStorm中打开需要调试的PHP文件,在代码行号左侧点击(或按F10),设置断点(红色圆点标记)。点击PHPStorm右上角的“电话图标”(Start Listening for PHP Debug Connections),此时图标变为绿色,表示调试器已启动并等待连接。
4. 触发调试会话
http://localhost:8080),代码执行到断点时会自动暂停。?XDEBUG_SESSION_START=PHPSTORM(如http://your-server-ip/page?XDEBUG_SESSION_START=PHPSTORM),刷新页面后调试器会捕获连接并暂停在断点处。5. 使用调试工具栏控制执行与查看信息
当代码在断点处暂停时,PHPStorm会显示调试工具栏,包含以下常用功能:
$variable->getName())。注意事项
xdebug.client_port(默认9003)的入站连接(本地调试可忽略)。xdebug.client_host需设置为本地机器的内网IP(如192.168.1.100),而非公网IP(避免暴露端口)。setsebool -P httpd_can_network_connect 1)。