在 Ubuntu 上配置 PHP 日志,通常分为 PHP-FPM(常见) 和 CLI(命令行) 两种情况。下面按常见场景说明。
先确认你用的是哪种:
php -v
ps aux | grep php
php-fpm → Web 环境(Nginx/Apache)php 命令 → CLIphp --ini
通常路径类似:
/etc/php/8.1/fpm/php.ini
编辑:
sudo vim /etc/php/8.1/fpm/php.ini
关键配置:
; 显示错误(开发环境)
display_errors = On
; 记录错误日志
log_errors = On
error_log = /var/log/php/php-error.log
; 错误级别
error_reporting = E_ALL
⚠️ 生产环境建议:
display_errors = Off
sudo mkdir -p /var/log/php
sudo chown -R www-data:www-data /var/log/php
PHP-FPM 自身也有日志:
sudo vim /etc/php/8.1/fpm/php-fpm.conf
error_log = /var/log/php/php-fpm.log
log_level = notice
sudo systemctl restart php8.1-fpm
CLI 用另一个 php.ini:
/etc/php/8.1/cli/php.ini
配置方式同上:
log_errors = On
error_log = /var/log/php/cli-error.log
如果用 Apache + mod_php:
sudo vim /etc/php/8.1/apache2/php.ini
配置同上,并重启:
sudo systemctl restart apache2
PHP 日志 ≠ Nginx 日志:
/var/log/nginx/access.log
/var/log/nginx/error.log
测试脚本:
<?php
error_log("PHP log test");
undefined_function();
?>
然后查看:
tail -f /var/log/php/php-error.log
如果你愿意,可以告诉我:
我可以给你一份精确可用的配置示例。