定位 Apache 日志中的错误,通常可以按下面几个步骤来进行:
Linux(Debian/Ubuntu)
/var/log/apache2/
access.logerror.logLinux(CentOS/RHEL)
/var/log/httpd/
access_logerror_logWindows(XAMPP)
xampp/apache/logs/
access.logerror.log查看 Apache 配置文件:
grep -R "ErrorLog" /etc/apache2/
# 或
grep -R "ErrorLog" /etc/httpd/
tail -f /var/log/apache2/error.log
访问网站或触发错误时,日志会实时输出
日志示例:
AH01630: client denied by server configuration
原因:
<Directory> 配置错误检查:
<Directory /var/www/html>
Require all granted
</Directory>
日志示例:
File does not exist: /var/www/html/test.php
原因:
日志示例:
PHP Fatal error: Uncaught Error
原因:
排查:
tail -n 50 /var/log/apache2/error.log
AH00558: apache2: Could not reliably determine server's fully qualified domain name
解决:
ServerName localhost
LogLevel debug
重启 Apache:
systemctl restart apache2
cat access.log | grep 500
或:
awk '$9 == 500' access.log
如果你愿意,可以把具体的错误日志内容贴出来,我可以帮你精确分析是哪一类问题。