最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】WordPress的php的log文件php-fpm.log太大

WordPress crifan 2487浏览 0评论
折腾:
【未解决】去修复WordPress登录页死循环:去看php的log日志
期间,发现此处WordPress的网站,php的log日志文件:
[root@crifan ~]# cd /usr/local/php/var/log/
[root@crifan log]# ls -lh
total 5.4G
-rw------- 1 root root 5.4G Oct 30 22:09 php-fpm.log
即:
php-fpm.log
太大了
-》WordPress没运行一段时间呢,此处就产生了5.4G的log了
那过段时间,很快就容易占满磁盘空间了
所以要去:
想办法限制php的日志不要太大
php-fpm.log 太大
php-fpm的一次慢执行日志slow log – 温柔的风 – 博客园
感觉此处应该是:希望不要开slow的log
去看看是否开启了
发现之前已经去
【已解决】CentOS7中php-fpm.log日志文件太大
删除过了这个log,且默认配置log的level改为了error:
/usr/local/php/etc/php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
;log_level = warning
log_level = error
不过也看到了slowlog的配置
request_slowlog_timeout = 0

pm.status_path = /php-fpm_status
slowlog = var/log/slow.log
去看看
slowlog
[root@crifan log]# pwd
/usr/local/php/var/log
[root@crifan log]# lh
total 3.0M
-rw------- 1 root root 3.0M Oct 31 11:54 php-fpm.log
发现:此处var下面并没有log/slow.log
说明是没有开启slowlog的
记一次 PHP-FPM 可以创建慢日志,但是却不能写入内容的折腾过程 | Laravel China 社区
; 这里是重点 慢日志slowlog的保存位置和请求时间,超过这个时间的请求就会被记录到慢日志中
; 注意这里的文件目录是需要先创建好的,具体的日志文件不需要提前创建好
; 这里可以设置的时间可以是 秒(s), 分钟(m), 小时(h) 和 天(d)
slowlog = /app/logs/my_slow_log/$pool.log.slow
request_slowlog_timeout = 1s
此处并没有request_slowlog_timeout设置
暂时也懒得加上了。
另外,估计前面的php的log文件,此处有3MB,估计是之前出现的
所以去删除掉,看看php重新创建后,在一段时间内,比如几分钟,几小时,会出现多大
期间去:
【未解决】Linux命令显示当前系统时间
然后看看当前log:
[root@crifan log]# date "+%Y%m%d %H:%M:%S"
20201031 12:05:30
[root@crifan log]# pwd
/usr/local/php/var/log
[root@crifan log]# lh
total 0
重启php:
[root@crifan log]# service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service
[root@crifan log]# service php-fpm status
Redirecting to /bin/systemctl status php-fpm.service
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-10-31 12:06:10 CST; 4s ago
     Docs: http://php.net/docs.php
 Main PID: 20473 (php-fpm)
   CGroup: /system.slice/php-fpm.service
           ├─20473 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
           ├─20483 php-fpm: pool www
           ├─20484 php-fpm: pool www
           ├─20485 php-fpm: pool www
           ├─20486 php-fpm: pool www
           ├─20487 php-fpm: pool www
           ├─20488 php-fpm: pool www
           ├─20489 php-fpm: pool www
           ├─20490 php-fpm: pool www
           ├─20491 php-fpm: pool www
           ├─20492 php-fpm: pool www
           ├─20493 php-fpm: pool www
           ├─20494 php-fpm: pool www
           ├─20495 php-fpm: pool www
           ├─20496 php-fpm: pool www
           ├─20497 php-fpm: pool www
           ├─20498 php-fpm: pool www
           ├─20499 php-fpm: pool www
           ├─20500 php-fpm: pool www
           ├─20501 php-fpm: pool www
           ├─20502 php-fpm: pool www
           ├─20503 php-fpm: pool www
           ├─20504 php-fpm: pool www
           ├─20505 php-fpm: pool www
           ├─20506 php-fpm: pool www
           ├─20507 php-fpm: pool www
           ├─20508 php-fpm: pool www
           ├─20509 php-fpm: pool www
           ├─20510 php-fpm: pool www
           ├─20511 php-fpm: pool www
           └─20512 php-fpm: pool www


Oct 31 12:06:10 crifan.com systemd[1]: Stopped The PHP FastCGI Process Manager.
Oct 31 12:06:10 crifan.com systemd[1]: Started The PHP FastCGI Process Manager.
[PHP] PHP-FPM的access日志error日志和slow日志 – 云+社区 – 腾讯云
https://cloud.tencent.com/developer/article/1523578
php-fpm 的配置和优化 – 后端
slowlog = log/$pool.log.slow
#慢请求的记录日志,配合request_slowlog_timeout使用,默认关闭

request_slowlog_timeout = 10s
#当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中. 设置为 '0' 表示 'Off'
此处是0:
slowlog = var/log/slow.log
request_slowlog_timeout = 0
表示没开启slow的log
感觉还是最好去开启吧
slowlog = var/log/slow.log
;request_slowlog_timeout = 0
request_slowlog_timeout = 30s
然后效果是:
[root@crifan log]# lh
total 4.0K
-rw------- 1 root root 3.6K Oct 31 12:06 php-fpm.log
[root@crifan log]# pwd
/usr/local/php/var/log
[root@crifan log]# date "+%Y%m%d %H:%M:%S"
20201031 12:06:39
[root@crifan log]# service php-fpm restart
Redirecting to /bin/systemctl restart php-fpm.service
[root@crifan log]# 
[root@crifan log]# 
[root@crifan log]# 
[root@crifan log]# date "+%Y%m%d %H:%M:%S"
20201031 12:10:38
[root@crifan log]# pwd
/usr/local/php/var/log
[root@crifan log]# lh
total 52K
-rw------- 1 root root 49K Oct 31 12:10 php-fpm.log
-rw------- 1 root root   0 Oct 31 12:10 slow.log
有了slow的log了。
另外,这过了:
4分钟左右,php-fpm.log,从3.6K变成49KB
-》平均 49-3.6=45.4KB / 4分钟=240秒 
-> 45.4KB/240秒 = 193.7 B/s 
= 0.189 KB/s  速度产生php的error的log
=1天是 16344KB = 16MB
= 1个月是480MB 
=1年是5G 左右
即:1年能产生5G的左右的php的error的log,此速度还能接受
[root@crifan log]# lh
total 804K
-rw------- 1 root root 794K Oct 31 13:35 php-fpm.log
-rw------- 1 root root 3.1K Oct 31 13:33 slow.log
[root@crifan log]# date "+%Y%m%d %H:%M:%S"
20201031 13:35:47
发现没过2小时,结果error的log就很大了
以及 slow的log也有了
看来必须要去想办法解决掉才行
【已解决】Wordpress中php出错:PHP message PHP Warning  Use of undefined constant PRC
再去看看slow的log:
Vultr/usr/local/php/var/log/slow.log
[31-Oct-2020 13:32:13]  [pool www] pid 20706
script_filename = /data/wwwroot/www.crifan.com/wp-admin/admin-ajax.php
[0x00007f376da1dc40] curl_exec() /data/wwwroot/www.crifan.com/wp-includes/Requests/Transport/cURL.php:162
[0x00007f376da1db80] request() /data/wwwroot/www.crifan.com/wp-includes/class-requests.php:381
[0x00007f376da1da80] request() /data/wwwroot/www.crifan.com/wp-includes/class-http.php:394
[0x00007f376da1d8f0] request() /data/wwwroot/www.crifan.com/wp-includes/class-http.php:608
[0x00007f376da1d850] post() /data/wwwroot/www.crifan.com/wp-includes/http.php:179
[0x00007f376da1d7c0] wp_remote_post() /data/wwwroot/www.crifan.com/wp-content/plugins/akismet/class.akismet.php:1192
[0x00007f376da1d630] http_post() /data/wwwroot/www.crifan.com/wp-content/plugins/akismet/class.akismet.php:587
[0x00007f376da1d560] check_db_comment() /data/wwwroot/www.crifan.com/wp-content/plugins/akismet/class.akismet.php:599
[0x00007f376da1d4c0] recheck_comment() /data/wwwroot/www.crifan.com/wp-content/plugins/akismet/class.akismet-admin.php:479
[0x00007f376da1d3d0] recheck_queue_portion() /data/wwwroot/www.crifan.com/wp-content/plugins/akismet/class.akismet-admin.php:442
[0x00007f376da1d310] recheck_queue() /data/wwwroot/www.crifan.com/wp-includes/class-wp-hook.php:287
[0x00007f376da1d230] apply_filters() /data/wwwroot/www.crifan.com/wp-includes/class-wp-hook.php:311
[0x00007f376da1d1c0] do_action() /data/wwwroot/www.crifan.com/wp-includes/plugin.php:478
[0x00007f376da1d0e0] do_action() /data/wwwroot/www.crifan.com/wp-admin/admin-ajax.php:176
slow的log是刚才前面的
【已解决】WordPress后台用akismet清理垃圾评论
用到了:akismet
估计平时会很少有这种slow的log的,所以不是问题
后记:
发现还有很多:
PHP message: evernote_sync_time()"
PHP message: evernote_sync_time()"
PHP message: evernote_sync_task()"
所以,还是去改代码:
想起来了,之前是为了调试,自己手动加的这些error_log
所以注释掉:
// error_log("evernote_sync_time()");

// error_log("evernote_sync_task()");

    // error_log("evernote_sync_timer()");
    if (!wp_next_scheduled('evernote_sync_cron')) {
        // error_log("evernote_sync_schedule 1 step");
把自己加的error_log都注释掉
结果:
错误就没了。
[root@crifan log]# date "+%Y%m%d %H:%M:%S"
20201031 21:11:55
[root@crifan log]# pwd
/usr/local/php/var/log
[root@crifan log]# lh
total 0
-rw------- 1 root root 0 Oct 31 14:13 slow.log
待过很久,再去确认,是否还有其他错误代码。
如果还有,再去解决掉。
【总结】
此处是php的error的log文件:
/usr/local/php/var/log/php-fpm.log
产生的很快,增长速度很快
所以最后是通过修复其中的error:
【已解决】Wordpress中php出错:PHP message PHP Warning  Use of undefined constant PRC
基本上全部的error,从而使得error的log增加的极其慢,甚至很少产生,即可解决:错误日志文件过大的问题。

转载请注明:在路上 » 【已解决】WordPress的php的log文件php-fpm.log太大

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.193 seconds, using 22.15MB memory