在终端中执行以下命令安装Xdebug(适配Ubuntu的包管理):
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,通过php -v命令确认Xdebug已加载(输出中应包含“with Xdebug”字样)。
找到当前PHP版本的php.ini文件(路径可通过php --ini命令查看,常见位置如/etc/php/8.2/cli/php.ini、/etc/php/8.2/fpm/php.ini),用文本编辑器(如nano)打开并添加以下配置:
[Xdebug]
zend_extension=xdebug.so # 加载Xdebug扩展(无需手动指定路径,系统会自动查找)
xdebug.mode=debug # 启用调试模式
xdebug.client_host=127.0.0.1 # 调试客户端地址(本地开发设为127.0.0.1)
xdebug.client_port=9003 # 调试端口(默认9003,需与PhpStorm一致)
xdebug.start_with_request=yes # 自动启动调试(可选:trigger/yes,推荐yes简化流程)
xdebug.idekey=PHPSTORM # IDE标识(需与PhpStorm设置一致)
保存文件后,重启Web服务器(Apache/Nginx)和PHP-FPM(若使用):
# 重启Apache
sudo systemctl restart apache2
# 重启Nginx + PHP-FPM(根据PHP版本调整)
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
打开PhpStorm,点击顶部菜单File > Settings(或Ctrl+Alt+S),导航至Languages & Frameworks > PHP。
点击CLI Interpreter右侧的...,选择Local Path to Interpreter,找到系统PHP路径(如/usr/bin/php),点击OK保存。
在Languages & Frameworks > PHP > Servers中点击+,输入服务器名称(如localhost),设置:
localhost(本地开发)80(HTTP)或443(HTTPS)Use path mappings(路径映射,后续需关联项目目录)。进入Languages & Frameworks > PHP > Debug,确保:
Xdebug选项已启用;Debug port设置为9003(与php.ini中的client_port一致);Can accept external connections(允许外部连接,确保调试器能接收请求)。在需要调试的PHP文件中,点击行号左侧的空白区域(如第10行),会出现红色圆圈,表示断点已设置。可设置多个断点,调试时会依次暂停。
点击PhpStorm顶部工具栏的绿色电话图标(或按Shift+F9),选择已配置的服务器(如localhost),点击OK。此时PhpStorm会进入调试模式,等待请求触发断点。
在浏览器中访问目标PHP页面(如http://localhost/your_project/index.php),PhpStorm会在断点处暂停执行。
调试启动后,PhpStorm会切换至Debug工具窗口,可进行以下操作:
php -m是否包含xdebug,php.ini路径是否正确;9003端口未被其他程序占用(如netstat -tulnp | grep 9003);Servers配置中,将项目本地路径(如/home/user/project)映射到服务器虚拟路径(如/var/www/html)。通过以上步骤,即可在Ubuntu系统下使用PhpStorm完成PHP代码的调试。调试过程中可根据需求调整断点位置和调试配置,提升开发效率。