在Ubuntu上,PHP日志管理通常涉及以下几个方面:
下面是如何管理和配置这些日志的方法:
如果你使用的是PHP-FPM,你可以在/etc/php/{version}/fpm/pool.d/www.conf
文件中找到相关配置。这里有两个主要的日志文件:
access.log
:记录了所有访问请求的信息。error.log
:记录了PHP-FPM的错误信息。你可以通过修改www.conf
文件来配置这些日志文件的路径和级别。例如:
access.log = /var/log/php-fpm/www-access.log
error.log = /var/log/php-fpm/www-error.log
catch_workers_output = yes
然后重启PHP-FPM服务以应用更改:
sudo systemctl restart php{version}-fpm
如果你使用的是Apache或Nginx作为Web服务器,它们也有自己的日志系统。
Apache的访问日志通常位于/var/log/apache2/access.log
,错误日志位于/var/log/apache2/error.log
。你可以通过编辑/etc/apache2/apache2.conf
或/etc/apache2/sites-available/your-site.conf
文件来配置这些日志。
Nginx的访问日志通常位于/var/log/nginx/access.log
,错误日志位于/var/log/nginx/error.log
。你可以通过编辑/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your-site.conf
文件来配置这些日志。
你还可以在php.ini
文件中配置PHP错误日志。找到error_log
设置并进行修改:
error_log = /var/log/php_errors.log
然后重启PHP-FPM或Apache/Nginx服务以应用更改。
为了避免日志文件过大,你可以使用logrotate
工具来自动轮转日志。Ubuntu已经预装了logrotate
,你可以创建一个新的配置文件来管理PHP日志。
例如,创建一个名为/etc/logrotate.d/php-fpm
的文件,添加以下内容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
这将每天轮转日志文件,保留最近7天的日志,并对旧日志进行压缩。
最后,确保你的Web服务器(Apache或Nginx)也配置了日志轮转。通常,/etc/logrotate.d/apache2
和/etc/logrotate.d/nginx
文件已经包含了相关配置。