在 Ubuntu 上给 PHP 开启调试,常见有 两种场景:
1️⃣ 开启 PHP 错误调试(看报错)
2️⃣ 开启 Xdebug(断点调试,配合 IDE)
下面分别说明。
先找到 php.ini 位置:
php --ini
通常路径类似:
/etc/php/8.1/cli/php.ini
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
编辑对应文件(以 8.1 为例):
sudo nano /etc/php/8.1/apache2/php.ini
修改以下配置:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
Apache:
sudo systemctl restart apache2
PHP-FPM(Nginx):
sudo systemctl restart php8.1-fpm
sudo apt update
sudo apt install php-xdebug
确认安装:
php -m | grep xdebug
编辑 Xdebug 配置文件(一般自动生成):
sudo nano /etc/php/8.1/mods-available/xdebug.ini
加入以下内容(本地调试示例):
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey=PHPSTORM
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm
launch.json 示例:{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
浏览器访问页面 → IDE 断点生效 ✅
php -i | grep xdebug
或新建 phpinfo.php:
<?php phpinfo();
看到 xdebug 模块即成功。
如果你是用 Nginx / Apache / CLI / Docker,或想配置 远程调试,可以告诉我,我给你针对性方案。