在 Ubuntu 上开启 PHP 调试日志,通常分为错误日志开启和Xdebug 调试开启两种情况。下面分别说明。
先找到 php.ini 位置:
php --ini
通常是:
/etc/php/8.x/cli/php.ini/etc/php/8.x/fpm/php.ini编辑对应文件:
sudo nano /etc/php/8.x/fpm/php.ini
修改以下配置:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php/php_errors.log
如果是生产环境,建议
display_errors = Off,只写日志。
sudo mkdir -p /var/log/php
sudo chown www-data:www-data /var/log/php
sudo chmod 755 /var/log/php
# PHP-FPM
sudo systemctl restart php8.x-fpm
# Apache
sudo systemctl restart apache2
sudo apt install php-xdebug
或:
sudo pecl install xdebug
编辑 Xdebug 配置(示例为 Xdebug 3):
sudo nano /etc/php/8.x/fpm/conf.d/20-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.log=/var/log/php/xdebug.log
sudo touch /var/log/php/xdebug.log
sudo chown www-data:www-data /var/log/php/xdebug.log
sudo systemctl restart php8.x-fpm
php -m | grep xdebug
tail -f /var/log/php/php_errors.log
tail -f /var/log/php/xdebug.log
如果你说的是 Laravel / ThinkPHP / WordPress 或 Nginx + PHP-FPM 的具体调试方式,可以告诉我,我可以给你更针对性的配置。