定位日志文件位置
| 运行方式 | 访问日志 | 错误日志 | 其他日志 |
|---|---|---|---|
| PHP-FPM | /var/log/php-fpm/access.log(需开启) | /var/log/php-fpm/error.log 或 /run/php-fpm/www-error.log | /var/log/php-fpm/slowlog.log(需开启慢日志) |
| Apache + mod_php | /var/log/httpd/access_log | /var/log/httpd/error_log | — |
| Nginx + PHP-FPM | /var/log/nginx/access.log | /var/log/nginx/error.log | PHP-FPM 错误仍看 php-fpm 日志 |
快速查看与实时跟踪
sudo tail -f /var/log/php-fpm/error.logsudo tail -f /var/log/httpd/error_logsudo tail -f /var/log/nginx/error.logsudo tail -f /var/log/httpd/access_logsudo tail -f /var/log/nginx/access.logsudo journalctl -u php-fpm -fsudo journalctl -u httpd -fsudo journalctl -u nginx -fsudo find / -type f -name "error_log"sudo grep -r "error_log" /etc/php* /etc/httpd /etc/nginx /usr/local/etc/php* 2>/dev/null按时间范围与关键字提取
sudo awk '/2025-11-29 10:00:00/,/2025-11-29 11:00:00/' /var/log/php-fpm/error.logsudo grep -i "Fatal\|Parse error" /var/log/php-fpm/error.logsudo awk '/2025-11-29 10:00:00/,/2025-11-29 11:00:00/' /var/log/php-fpm/error.log | grep -i "error" | wc -lsudo grep -oP 'POST \K[^ ]+' /var/log/nginx/access.logsudo awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head确保日志已启用与正确配置
error_reporting = E_ALLdisplay_errors = Offlog_errors = Onerror_log = /var/log/php-fpm/error.logerror_log = /var/log/php-fpm/error.logaccess.log = /var/log/php-fpm/access.logslowlog = /var/log/php-fpm/slowlog.log 与 request_slowlog_timeout = 5ssudo systemctl restart php-fpmsudo systemctl restart httpd 或 sudo systemctl restart nginx<?php phpinfo(); ?>集中化与可视化分析