1. 安装Xdebug扩展
在Ubuntu终端中运行以下命令安装Xdebug(根据PHP版本调整,如php7.4-xdebug、php8.1-xdebug):
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,通过php -v命令确认Xdebug已加载(输出中应包含“with Xdebug v3.x”)。
2. 配置php.ini文件
找到PHP配置文件路径(可通过php --ini命令查看),通常为/etc/php/{php_version}/cli/php.ini(CLI模式)和/etc/php/{php_version}/fpm/php.ini(FPM模式)。用文本编辑器打开文件,添加以下Xdebug配置:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes
zend_extension:指向Xdebug扩展文件(无需手动指定路径,系统会自动查找);xdebug.mode=debug:启用调试模式;xdebug.client_host:调试客户端(PhpStorm)的IP地址;xdebug.client_port:调试端口(默认9003,需与PhpStorm配置一致);xdebug.start_with_request=yes:每次请求都启动调试。3. 配置PhpStorm
File > Settings > Languages & Frameworks > PHP,点击“CLI Interpreter”右侧的“…”,选择本地PHP解释器(如/usr/bin/php),点击“OK”保存。Languages & Frameworks > PHP > Servers,点击“+”添加新服务器,输入名称(如“Localhost”),设置“Host”为localhost、“Port”为80(或你的Web服务器端口),点击“OK”。Languages & Frameworks > PHP > Debug,确保“Xdebug”已启用,且“Debug port”设置为9003(与php.ini一致)。4. 设置断点
在需要调试的PHP代码行左侧空白处点击,出现红色圆圈即表示断点设置成功。可设置多个断点,调试时会依次暂停。
5. 启动调试会话
Shift+F9),选择已配置的服务器(如“Localhost”),启动调试。6. 调试操作
调试启动后,代码会在断点处暂停,可使用工具栏按钮控制执行流程:
同时,可在“Debug”工具窗口查看变量值、调用堆栈、当前执行位置等信息,辅助排查问题。
常见问题排查
xdebug.start_with_request=yes是否设置正确,或尝试重启Web服务器(sudo systemctl restart apache2/nginx)和PhpStorm;xdebug.client_port与PhpStorm配置一致,避免端口冲突;nginx.conf中配置fastcgi_pass指向PHP-FPM套接字,并重启Nginx。