在 Ubuntu 上开启 PHP 调试,通常有两种常见场景:
下面分别说明。
找到你的 php.ini(通常是 /etc/php/8.x/cli/php.ini 或 /etc/php/8.x/apache2/php.ini)
php --ini
编辑文件:
sudo nano /etc/php/8.x/apache2/php.ini
修改以下内容:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
Apache:
sudo systemctl restart apache2
Nginx + PHP-FPM:
sudo systemctl restart php8.x-fpm
sudo apt update
sudo apt install php-xdebug
查看是否安装成功:
php -m | grep xdebug
编辑 Xdebug 配置文件(示例路径):
sudo nano /etc/php/8.x/mods-available/xdebug.ini
写入:
zend_extension=xdebug
[xdebug]
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.x-fpm
php -i | grep xdebug
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
❌ Xdebug 不生效
php -m 中有 xdebug❌ 端口被占用
client_port如果你告诉我:
我可以给你精准配置步骤。