在 CentOS 系统中,PHP 日志通常位于以下几个路径:
- Apache: /var/log/httpd/error_log
- Nginx + PHP-FPM: /var/log/nginx/error.log
要识别异常请求,你可以使用以下方法:
-
使用 grep 命令搜索特定的关键字,例如 404(未找到)或 500(内部服务器错误):
grep ' 404 ' /var/log/httpd/error_log grep ' 500 ' /var/log/httpd/error_log或者对于 Nginx + PHP-FPM:
grep ' 404 ' /var/log/nginx/error.log grep ' 500 ' /var/log/nginx/error.log -
使用 awk 或 cut 命令提取请求的 URL:
grep ' 404 ' /var/log/httpd/error_log | awk '{print $7}' | cut -d'"' -f2 grep ' 500 ' /var/log/httpd/error_log | awk '{print $7}' | cut -d'"' -f2或者对于 Nginx + PHP-FPM:
grep ' 404 ' /var/log/nginx/error.log | awk '{print $7}' | cut -d'"' -f2 grep ' 500 ' /var/log/nginx/error.log | awk '{print $7}' | cut -d'"' -f2 -
使用 sort 和 uniq 命令找出重复出现的异常请求:
grep ' 404 ' /var/log/httpd/error_log | awk '{print $7}' | cut -d'"' -f2 | sort | uniq -c | sort -nr grep ' 500 ' /var/log/httpd/error_log | awk '{print $7}' | cut -d'"' -f2 | sort | uniq -c | sort -nr或者对于 Nginx + PHP-FPM:
grep ' 404 ' /var/log/nginx/error.log | awk '{print $7}' | cut -d'"' -f2 | sort | uniq -c | sort -nr grep ' 500 ' /var/log/nginx/error.log | awk '{print $7}' | cut -d'"' -f2 | sort | uniq -c | sort -nr
这些命令将帮助你找到异常请求及其出现次数。你可以根据这些信息分析问题并采取相应的措施。