温馨提示×

ubuntu php日志格式是什么

小樊
38
2026-09-06 14:28:56
栏目: 编程语言

在 Ubuntu 上,PHP 本身的日志格式取决于 PHP 的运行方式(CLI / FPM / Apache module) 以及 日志配置。下面分情况说明。


一、PHP 错误日志(最常用)

1️⃣ php.ini 中的配置

log_errors = On
error_log = /var/log/php/php-error.log

如果没有指定 error_log,错误会写入:

  • Apache:Apache 的错误日志
  • PHP-FPM:FPM 的 error log
  • CLI:直接输出到终端

2️⃣ PHP 错误日志格式(默认)

单行文本格式

[日期 时间] PHP 错误级别: 错误信息 in 文件 on 行号

示例:

[12-Jul-2024 10:23:45] PHP Warning:  mysqli_connect(): (HY000/2002): Connection refused in /var/www/html/db.php on line 10

字段说明:

  • [12-Jul-2024 10:23:45]:时间(默认格式)
  • PHP Warning:错误类型
  • mysqli_connect():函数
  • db.php on line 10:文件和行号

3️⃣ 常见错误级别

  • PHP Notice
  • PHP Warning
  • PHP Error
  • PHP Fatal error
  • PHP Parse error

二、PHP-FPM 日志格式(Ubuntu 常见)

PHP-FPM 日志文件通常在:

/var/log/php8.1-fpm.log

格式示例:

[12-Jul-2024 10:23:45] WARNING: [pool www] child 1234 exited on signal 11 (SIGSEGV)
[12-Jul 10:23:45] NOTICE:  fpm is running

这是 FPM 进程日志,不是 PHP 代码错误日志。


三、Apache + PHP 模块日志

日志位置:

/var/log/apache2/error.log

示例:

[Thu Jul 12 10:23:45.123456 2024] [php:warn] [pid 1234] PHP Warning:  ...

格式由 Apache 控制,不是 PHP 自己定义。


四、CLI 模式日志

CLI 默认:

  • 不写文件
  • 直接输出到 stderr

示例:

PHP Fatal error:  Uncaught Error: Call to undefined function test() in test.php:5

五、可自定义的部分

1️⃣ 时间格式(php.ini)

date.timezone = Asia/Shanghai

2️⃣ 自定义错误日志(代码层)

error_log("自定义日志内容");

写入格式就是普通字符串,无固定结构。


六、示例总结对照表

场景 日志位置 格式
PHP 错误 php-error.log [时间] PHP 级别: 信息 in 文件 on 行
PHP-FPM php-fpm.log [时间] 级别: 信息
Apache error.log Apache 格式 + PHP 信息
CLI 终端 直接文本

如果你愿意,我可以:

  • 帮你改 PHP 日志格式
  • 配置 JSON 日志
  • 或结合 Nginx / Apache / FPM 给你完整示例

0