在Ubuntu终端中执行以下命令安装Xdebug:
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,需确认Xdebug是否成功加载:
php -m | grep xdebug
若输出xdebug则表示安装成功。
找到当前PHP版本的php.ini文件(路径通常为/etc/php/{php_version}/cli/php.ini、/etc/php/{php_version}/apache2/php.ini或/etc/php/{php_version}/fpm/php.ini,{php_version}替换为你的PHP版本,如8.1)。
用文本编辑器(如nano)打开文件,添加以下Xdebug配置:
zend_extension=xdebug.so # 若未自动找到路径,需替换为实际路径(如/usr/lib/php/20210902/xdebug.so)
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes # 自动触发调试(可选:trigger/yes)
保存并关闭文件。
根据使用的Web服务器类型,执行对应重启命令:
sudo systemctl restart apache2sudo systemctl restart nginx
sudo systemctl restart php{php_version}-fpm # 如php8.1-fpm
打开PhpStorm,点击顶部菜单File > Settings(或Ctrl+Alt+S),展开Languages & Frameworks > PHP,点击Interpreter右侧的齿轮图标,选择Add,选择系统中已安装的PHP解释器(如/usr/bin/php),确保PHP Version显示正确。
在PHP设置页面,点击Servers标签,点击+添加新服务器:
Local Server);localhost(或服务器IP);80(HTTP)或443(HTTPS);Use path mappings(可选,用于映射项目路径,如将本地项目路径映射到服务器虚拟路径);OK保存。在PHP设置页面,点击Debug标签,确保Xdebug已启用,且Debug port设置为9003(与php.ini中的client_port一致)。
在PhpStorm中打开需要调试的PHP文件,在代码行号左侧空白处单击,会出现红色圆圈,表示断点设置成功。可设置多个断点。
点击PhpStorm右上角的绿色电话图标(或按Shift+F9),启动调试会话。此时PhpStorm会等待调试连接。
若需通过浏览器直接触发调试,可点击Run > Edit Configurations,点击+选择PHP Web Page,填写:
Xdebug Debug);/index.php);Local Server);Xdebug;OK保存。之后可直接点击右上角的绿色三角形图标(或按Shift+F10)启动调试。在浏览器中访问配置的URL(如http://localhost/index.php),当代码执行到断点时,PhpStorm会自动暂停,进入调试模式。此时可:
Variables面板);Debug窗口);Step Over/F8、Step Into/F7、Step Out/Shift+F8);Resume Program/F9)。调试完成后,点击调试工具栏中的红色方块按钮(或按Ctrl+F2),结束调试会话。
php.ini中的zend_extension路径是否正确,重启Web服务器;9003端口未被其他程序占用(可通过netstat -tulnp | grep 9003检查);xdebug.start_with_request=yes已设置,且PhpStorm的Debug port与php.ini一致。