在 Ubuntu 系统中,PHP 日志格式可以通过修改 PHP 配置文件 php.ini 或者 Web 服务器(如 Apache 或 Nginx)的配置文件来实现。以下是针对不同情况的格式化方法:
- 修改 PHP 配置文件
php.ini:
找到你的 php.ini 文件,通常位于 /etc/php/{php_version}/apache2/php.ini(Apache)或 /etc/php/{php_version}/fpm/php.ini(Nginx)。使用文本编辑器打开它,例如使用 nano:
sudo nano /etc/php/{php_version}/apache2/php.ini
找到以下行:
log_error_format = "%t %f %l %E: %m%n"
你可以根据需要修改这个格式。例如,如果你想要在日志中包含日期、时间、文件名、行号、错误级别和错误消息,可以使用以下格式:
log_error_format = "%d-%m-%Y %H:%i:%s %F:%l %E: %m%n"
修改完成后,保存并关闭文件。重启 Apache 或 Nginx 以使更改生效:
sudo systemctl restart apache2
# 或者
sudo systemctl restart nginx
- 修改 Web 服务器配置文件:
对于 Apache,你可以在虚拟主机配置文件中添加 CustomLog 指令来自定义 PHP 错误日志格式。例如:
:80 >
# ...
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SetEnvIf Request_URI "\.php$" dontlog
CustomLog ${APACHE_LOG_DIR}/error_php.log "%t %h %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{ERROR_FILE}e %{ERROR_LINE}e %{ERROR_MESSAGE}e" env=!dontlog
对于 Nginx,你可以在 server 块中使用 error_log 和 access_log 指令来自定义 PHP 错误日志格式。例如:
server {
# ...
error_log /var/log/nginx/error_php.log combined buffer=32k flush=300s;
access_log /var/log/nginx/access_php.log combined buffer=32k flush=300s;
location ~ \.php$ {
# ...
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param ERROR_LOG_FORMAT "%t %h %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{ERROR_FILE}e %{ERROR_LINE}e %{ERROR_MESSAGE}e";
}
}
修改完成后,保存并关闭文件。重启 Apache 或 Nginx 以使更改生效:
sudo systemctl restart apache2
# 或者
sudo systemctl restart nginx
这样,你就可以根据需要自定义 PHP 日志格式了。
以上就是关于“Ubuntu PHP日志格式化方法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm