温馨提示×

centos php日志格式说明

小樊
43
2025-11-08 01:49:15
栏目: 编程语言

一、CentOS PHP日志类型及位置 在CentOS系统中,PHP日志主要分为三类,路径取决于Web服务器配置:

  • PHP错误日志:记录PHP代码执行中的错误(如语法错误、未定义变量),路径通常为/var/log/php-fpm/error.log(PHP-FPM)、/var/log/httpd/error_log(Apache)或/var/log/nginx/error.log(Nginx)。
  • PHP-FPM访问日志:记录用户对PHP脚本的HTTP请求详情(如IP、方法、URL),默认路径为/var/log/php-fpm/access.log(需在php-fpm.conf中开启access.log)。
  • Web服务器访问日志:Apache的路径为/var/log/httpd/access_log,Nginx的路径为/var/log/nginx/access.log,记录所有HTTP请求(包括非PHP资源)。

二、PHP错误日志格式说明 PHP错误日志的格式由php.ini中的log_errors_format参数控制,默认格式通常包含以下占位符(以php.ini配置为例):

log_errors_format = "[%datetime%] %Type%: %Message% in %Script% on line %Line%"
  • %datetime%:错误发生的时间,格式为YYYY-MM-DD HH:MM:SS(如2023-10-01 14:23:45)。
  • %Type%:错误类型,如PHP Fatal error(致命错误)、PHP Warning(警告)、PHP Notice(通知)。
  • %Message%:错误详细描述(如“Call to undefined function test_function()”)。
  • %Script%:发生错误的PHP脚本文件路径(如/var/www/html/script.php)。
  • %Line%:错误发生的行号(如5)。

示例日志:

[2023-10-01 14:23:45] PHP Fatal error:  Call to undefined function test_function() in /var/www/html/script.php on line 5

该日志表明:在script.php文件的第5行,调用了未定义的函数test_function(),导致脚本终止执行。

三、PHP-FPM访问日志格式说明 PHP-FPM的访问日志用于记录用户对PHP脚本的HTTP请求,格式由php-fpm.conf中的access.format参数控制,默认格式通常包含以下占位符(以php-fpm.conf配置为例):

access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
  • %R:客户端IP地址(如127.0.0.1)。
  • %u:认证后的用户名(若未认证则为-)。
  • %t:请求发生的时间,格式为[DD/MMM/YYYY:HH:MM:SS +TZ](如[21/Jul/2021:12:34:56 +0800])。
  • %m:HTTP请求方法(如GETPOST)。
  • %r:请求的第一行(如/index.php)。
  • %s:HTTP状态码(如200表示成功,404表示未找到,500表示服务器错误)。
  • %f:处理的PHP脚本文件路径(如/var/www/html/index.php)。
  • %{mili}d:请求处理时间(毫秒,如123表示123毫秒)。
  • %{kilo}M:请求处理期间消耗的内存(KB,如1024表示1MB)。
  • %C%%:CPU使用率(百分比,如10.5表示10.5%)。

示例日志:

127.0.0.1 - - [21/Jul/2021:12:34:56 +0800] "GET /index.php HTTP/1.1" 200 /var/www/html/index.php 123 1024 5.2%

该日志表明:客户端127.0.0.1通过GET方法请求了/index.php,服务器返回200状态码,脚本路径为/var/www/html/index.php,处理时间为123毫秒,消耗内存1MB,CPU使用率为5.2%。

四、常见日志占位符汇总

占位符 含义 示例值
%datetime% 错误发生时间 2023-10-01 14:23:45
%Type% 错误类型 PHP Fatal error
%Message% 错误描述 Call to undefined function
%Script% 错误脚本路径 /var/www/html/script.php
%Line% 错误行号 5
%R 客户端IP 127.0.0.1
%t 请求时间 [21/Jul/2021:12:34:56 +0800]
%m HTTP方法 GET
%s HTTP状态码 200
%f 处理脚本路径 /var/www/html/index.php
%{mili}d 处理时间(毫秒) 123
%{kilo}M 内存消耗(KB) 1024

五、日志查看与分析技巧

  • 实时查看最新日志:使用tail -f /path/to/logfile(如tail -f /var/log/php-fpm/error.log),实时监控新产生的日志。
  • 筛选特定错误:使用grep命令(如grep 'PHP Fatal error' /var/log/php_errors.log),快速查找致命错误。
  • 按时间筛选日志:使用awk命令(如awk '/2025-04-05/{print $0}' access.log),筛选某一天的访问日志。
  • 结构化日志分析:将日志转换为JSON格式(如使用Monolog库),借助ELK(Elasticsearch+Logstash+Kibana)或Graylog等工具进行可视化分析,提升排查效率。

0