在 Ubuntu 上,PHP 的日志配置主要取决于你使用的 PHP 运行方式(CLI / FPM / Apache)。下面分情况说明。
PHP 的主配置文件通常是:
/etc/php/<版本>/<SAPI>/php.ini
例如:
/etc/php/8.1/fpm/php.ini/etc/php/8.1/apache2/php.ini/etc/php/8.1/cli/php.ini在 php.ini 中常见与日志相关的配置:
; 是否开启错误记录到日志
log_errors = On
; 错误日志文件路径
error_log = /var/log/php/php_errors.log
; 显示错误(生产环境建议 Off)
display_errors = Off
; 错误报告级别
error_reporting = E_ALL
修改后需要重启对应服务。
配置目录:
/etc/php/<版本>/fpm/
FPM 慢日志 / 错误日志(pool 配置):
/etc/php/<版本>/fpm/pool.d/www.conf
常见配置:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php/fpm-error.log
php_admin_value[log_errors] = On
重启:
sudo systemctl restart php8.1-fpm
配置文件:
/etc/php/<版本>/apache2/php.ini
错误通常写入:
/var/log/apache2/error.log
重启:
sudo systemctl restart apache2
配置文件:
/etc/php/<版本>/cli/php.ini
CLI 日志一般在:
/var/log/php/cli-error.log
(需在 php.ini 中指定 error_log)
| 类型 | 日志位置 |
|---|---|
| Nginx + PHP-FPM | /var/log/php/、/var/log/nginx/ |
| Apache + PHP | /var/log/apache2/error.log |
| PHP CLI | 自定义或 stdout |
| PHP-FPM 慢日志 | www.conf 中配置 |
# 查看 PHP 使用的 ini 文件
php --ini
# 查看错误日志
tail -f /var/log/php/php_errors.log
# 查看 FPM 状态
systemctl status php8.1-fpm
如果你能告诉我:
我可以给你精确的配置示例。