ubuntu 22.04需通过ondřej surý ppa安装对应php主版本的xdebug(如php8.3-xdebug),配置xdebug.mode=debug等参数并设client_port=9003,最后重启对应服务验证加载。

Ubuntu 22.04 默认只提供 PHP 8.1,要给 PHP 8.x(如 8.0、8.3 等)安装 Xdebug,不能直接用 php-xdebug 这种泛版本包(它通常绑定系统默认 PHP 版本),必须明确指定对应 PHP 主版本的扩展包,或手动配置路径指向正确的 zend_extension。
确认你用的是哪个 PHP 版本
先查清楚当前 CLI 和 Web 使用的 PHP 版本:
-
php -v—— 显示默认 CLI 版本(可能是 8.1) -
php8.3 -v或php8.0 -v—— 检查目标版本是否已安装 - 若用 Nginx + PHP-FPM,运行
sudo systemctl status php8.3-fpm看服务名
用 APT 安装对应版本的 Xdebug 扩展
Ubuntu 官方源不提供非默认版本的 Xdebug,但 Ondřej Surý 的 PPA 已预编译了各版本的 php*-xdebug 包。前提是已添加该源(如未添加,请先执行):
sudo apt install -y software-properties-commonsudo add-apt-repository ppa:ondrej/php -y && sudo apt update
然后安装对应版本的 Xdebug(以 PHP 8.3 为例):
sudo apt install -y php8.3-xdebug- 安装后,Xdebug 配置文件通常自动生成在
/etc/php/8.3/mods-available/xdebug.ini
启用并配置 Xdebug(适配 PHP 8.3+)
Xdebug 3.x 后配置逻辑变化较大,不再用 xdebug.remote_*,改用 xdebug.mode 和 xdebug.client_*:
- 编辑配置:
sudo nano /etc/php/8.3/mods-available/xdebug.ini - 确保内容类似以下(关键项不可少):
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.log=/tmp/xdebug.log
注意:client_port=9003 是 Xdebug 3 默认端口(不是旧版的 9000 或 9001),PHPStorm/VS Code 调试监听需同步设为此值。
验证与重启服务
检查扩展是否加载成功:
-
php8.3 -m | grep xdebug—— 应输出xdebug -
php8.3 -i | grep "xdebug\.mode"—— 查看实际生效配置
根据使用场景重启对应服务:
- CLI 调试:无需重启,直接运行脚本即可触发调试
- Nginx + PHP-FPM:运行
sudo systemctl restart php8.3-fpm - Apache:运行
sudo systemctl restart apache2
最后,用 php8.3 -i | head -20 或创建 info.php 访问网页,确认页面中出现 Xdebug 模块区块即表示成功。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











