在 Ubuntu 系统中,PHP 日志格式可以通过修改 PHP 配置文件 php.ini
或者 Web 服务器(如 Apache 或 Nginx)的配置文件来自定义。以下是针对不同 Web 服务器的自定义方法:
1. Apache
首先,找到你的 Apache 配置文件。通常位于 /etc/apache2/
目录下,可能是 httpd.conf
或者在 sites-available
目录下的虚拟主机配置文件。
在配置文件中找到 LogFormat
指令,它用于定义日志格式。例如:
LogFormat "%h %l %u %t \"%r\" %>s %b" combined
你可以根据需要修改这个格式。这里的 %h
、%l
、%u
、%t
、%r
、%>s
和 %b
分别表示 IP 地址、日志名称、用户、时间、请求、状态码和响应大小。
接下来,在 CustomLog
指令中使用自定义的日志格式。例如:
CustomLog /var/log/apache2/access.log combined
将 combined
替换为你自定义的日志格式名称。
最后,重启 Apache 服务使更改生效:
sudo service apache2 restart
2. Nginx
首先,找到你的 Nginx 配置文件。通常位于 /etc/nginx/
目录下,可能是 nginx.conf
或者在 sites-available
目录下的虚拟主机配置文件。
在配置文件中找到 log_format
指令,它用于定义日志格式。例如:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
你可以根据需要修改这个格式。这里的 $remote_addr
、$remote_user
、$time_local
、$request
、$status
、$body_bytes_sent
、$http_referer
、$http_user_agent
和 $http_x_forwarded_for
分别表示 IP 地址、用户、时间、请求、状态码、响应大小、引用页、用户代理和 X-Forwarded-For 头部。
接下来,在 access_log
指令中使用自定义的日志格式。例如:
access_log /var/log/nginx/access.log main;
将 main
替换为你自定义的日志格式名称。
最后,重启 Nginx 服务使更改生效:
sudo service nginx restart
3. PHP-FPM
如果你使用的是 PHP-FPM,可以在 php-fpm.conf
或者在 www.conf
文件中自定义日志格式。这两个文件通常位于 /etc/php/版本号/fpm/
目录下。
在配置文件中找到 access.format
和 error.format
指令,它们分别用于定义访问日志和错误日志的格式。例如:
access.format = "%R - %u %t \"%m %r\" %s"
error.format = "[%t] [%p] %E: [PHP] %m%n"
你可以根据需要修改这些格式。
最后,重启 PHP-FPM 服务使更改生效:
sudo service php版本号-fpm restart
将 版本号
替换为你的 PHP 版本号。