PHPStorm在Ubuntu上集成Xdebug的完整步骤
首先确保Ubuntu系统已安装PHP基础环境(如php-cli、php-fpm或php-apache),然后通过包管理器安装Xdebug:
sudo apt update
sudo apt install php-xdebug
安装完成后,Xdebug会自动添加至PHP扩展目录(路径可通过php -i | grep extension_dir查看)。
找到当前PHP版本的php.ini文件(路径可通过php -i | grep php.ini获取,如/etc/php/8.2/cli/php.ini或/etc/php/8.2/fpm/php.ini),在文件末尾添加以下配置:
[Xdebug]
zend_extension=xdebug.so ; 加载Xdebug扩展(Linux下无需指定完整路径)
xdebug.mode=debug ; 启用调试模式(必填)
xdebug.client_host=127.0.0.1 ; 客户端IP(IDE所在机器,本地为127.0.0.1)
xdebug.client_port=9003 ; 调试端口(默认9003,需与PHPStorm一致)
xdebug.start_with_request=yes ; 自动启动调试(可选:yes/trigger/never)
注意:若使用xdebug.start_with_request=trigger,需通过URL参数?XDEBUG_TRIGGER=1触发调试。
配置生效后,需重启PHP和Web服务器以加载Xdebug:
sudo systemctl restart php8.2-fpm ; 替换为你的PHP版本(如8.1、8.0)
sudo systemctl restart apache2
sudo systemctl restart nginx
创建info.php文件(内容为<?php phpinfo(); ?>),上传至Web服务器并通过浏览器访问。在页面中搜索“Xdebug”,若看到Xdebug版本及相关配置(如client_host、client_port),则说明安装成功。
打开PHPStorm,进入File > Settings > PHP,点击“…”添加本地或远程PHP解释器(确保解释器路径正确,如/usr/bin/php)。
进入File > Settings > PHP > Servers,点击“+”添加新服务器:
localhost(或服务器IP);80(HTTP)或443(HTTPS);/var/www/html/myproject)映射至本地路径(如/home/user/projects/myproject)。进入File > Settings > PHP > Debug,确认“Debug port”设置为9003(与php.ini中的client_port一致)。
在PHP代码行号左侧点击,添加红色断点(如index.php的第10行)。
点击PHPStorm右上角的电话图标(“Start Listening for PHP Debug Connections”),进入调试等待状态。
start_with_request=yes):直接在浏览器中访问项目URL(如http://localhost/myproject),代码执行到断点时会自动暂停。start_with_request=trigger):在URL后添加?XDEBUG_TRIGGER=1(如http://localhost/myproject?XDEBUG_TRIGGER=1),触发调试会话。当代码暂停在断点时,可使用PHPStorm调试工具栏的按钮进行操作:
9003端口被占用,可修改php.ini中的client_port(如9004),并同步更新PHPStorm的“Debug port”。php.ini中的zend_extension路径是否正确,或通过php -m | grep xdebug确认扩展是否加载。