在 Ubuntu 下开启 PHP 调试,通常分为 错误调试(开发阶段) 和 Xdebug 单步调试(IDE 调试) 两种场景。下面按常见需求一步步说明。
php.ini先找到 php.ini 位置:
php -i | grep "Loaded Configuration File"
常见路径:
/etc/php/8.1/apache2/php.ini/etc/php/8.1/cli/php.ini/etc/php/8.1/fpm/php.ini编辑对应文件:
sudo nano /etc/php/8.1/apache2/php.ini
修改或取消注释以下内容:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log
重启服务:
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm
✅ 适合:开发环境快速排错
sudo apt update
sudo apt install php-xdebug
检查是否安装成功:
php -v
应看到类似:
with Xdebug v3.x
编辑 Xdebug 配置文件:
sudo nano /etc/php/8.1/mods-available/xdebug.ini
推荐配置(Xdebug 3):
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes
⚠️ Xdebug 2 用
9000,Xdebug 3 默认9003
重启服务:
sudo systemctl restart apache2
# 或 php-fpm
.vscode/launch.json{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
✅ 支持:断点、变量监视、单步执行
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
创建日志文件:
sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
php -dxdebug.mode=debug your_script.php
php -i | grep xdebug
php -m | grep xdebug
| PHP 版本 | Xdebug 版本 |
|---|---|
| PHP 7.x | Xdebug 2 / 3 |
| PHP 8.x | Xdebug 3 ✅ |
| 需求 | 推荐方式 |
|---|---|
| 看报错 | display_errors |
| 单步调试 | Xdebug + VS Code |
| 线上环境 | 日志 + 关闭显示 |
| CLI 调试 | Xdebug CLI |
如果你愿意,可以告诉我:
我可以给你 精确配置方案。