溫馨提示×

Ubuntu PHP日志格式化方法

小樊
46
2025-08-31 03:37:59
欄目: 編程語言

在 Ubuntu 系統中,PHP 日志格式可以通過修改 PHP 配置文件 php.ini 或者 Web 服務器(如 Apache 或 Nginx)的配置文件來實現。以下是針對不同情況的格式化方法:

  1. 修改 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
  1. 修改 Web 服務器配置文件:

對于 Apache,你可以在虛擬主機配置文件中添加 CustomLog 指令來自定義 PHP 錯誤日志格式。例如:

<VirtualHost *: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
</VirtualHost>

對于 Nginx,你可以在 server 塊中使用 error_logaccess_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 日志格式了。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女