首先确保Ubuntu系统已安装PHP及Xdebug扩展。通过终端执行以下命令安装:
sudo apt-get update
sudo apt-get install php-xdebug # 若使用特定PHP版本(如8.1),替换为php8.1-xdebug
安装完成后,通过php -v命令检查Xdebug是否加载成功(输出中应包含“with Xdebug”字样)。
找到PHP配置文件(路径可通过php --ini命令查看,通常为/etc/php/{version}/cli/php.ini或/etc/php/{version}/fpm/php.ini),在文件末尾添加以下Xdebug配置:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1 # 本地调试,若远程调试需改为服务器IP
xdebug.client_port=9003 # PHPStorm默认监听端口(需与后续配置一致)
xdebug.start_with_request=yes # 自动启动调试(可选:trigger/yes)
保存后重启PHP服务(根据环境选择):
sudo systemctl restart php{version}-fpm # PHP-FPM环境
sudo systemctl restart apache2 # Apache环境
sudo systemctl restart nginx # Nginx环境
File > Settings(或PhpStorm > Preferences,macOS用户)。Languages & Frameworks > PHP,点击CLI Interpreter右侧的齿轮图标,选择Add。Local Path to Interpreter,浏览至PHP可执行文件路径(如/usr/bin/php),点击OK保存。Settings中,导航至Languages & Frameworks > PHP > Servers,点击+添加新服务器。Local Server),设置Host为localhost(远程调试则填服务器IP),Port为80(HTTP)或443(HTTPS)。Use path mappings(若项目在远程服务器,需映射本地项目路径至远程路径,如本地/home/user/project→远程/var/www/html)。OK保存服务器配置。Languages & Frameworks > PHP > Debug,确保Xdebug选项已启用。Debug port是否为9003(与php.ini中的client_port一致)。Can accept external connections(远程调试需开启)。在PHP代码中,点击行号左侧的空白区域,设置断点(红色圆圈标识)。可选择多个断点,调试时会在这些位置暂停。
Shift+F9),选择已配置的服务器(如Local Server),点击OK。http://localhost),请求会触发Xdebug,PhpStorm自动切换至调试视图,暂停在第一个断点处。Run > Edit Configurations,点击+选择PHP Script。Script path为要调试的CLI脚本路径(如/home/user/script.php),选择已配置的PHP解释器。OK保存,然后点击工具栏的绿色三角形图标(或按Shift+F10)启动调试。调试启动后,PhpStorm会显示Debug工具窗口,包含以下功能:
ufw)允许调试端口(如9003)的流量:sudo ufw allow 9003/tcp。xdebug.remote_enable)需调整。