折腾:
【未解决】去修复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 太大
感觉此处应该是:希望不要开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的
; 这里是重点 慢日志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日志 – 云+社区 – 腾讯云
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增加的极其慢,甚至很少产生,即可解决:错误日志文件过大的问题。