如何在Apache Web服务器配置文件中找出语法错误?

时间:2020-01-09 10:38:50  来源:igfitidea点击:

Apache Web服务器支持特殊的语法检查。
您只能对配置文件运行语法测试。
以下两个重要的语法检查器选项可以传递给apache二进制程序httpd(Red Hat/Fedora Linux)或apache-perl(Debian Linux apache二进制文件):

执行以下命令,将检测语法错误:

如果您使用的是Debian Linux:

/usr/sbin/apache-perl -t

如果您使用的是Red Hat Linux:

/usr/sbin/httpd -t

其中:

  • -t:这些语法解析后,程序立即退出,返回码为0(即,语法OK消息)或返回码不等于0(即,Syntax Error消息)。

考虑以下示例:

/usr/sbin/apache-perl -t

Warning: DocumentRoot [/data/network/www/blogs] does not exist  Syntax OK

用-T选项替换它:

/usr/sbin/apache-perl -T

选项-T与选项-t相同,但是不检查配置的文档根目录(警告消息消失)。

另一个例子:

/usr/sbin/apache-perl -t -S

Syntax error on line 1059 of /etc/apache-perl/httpd.conf:  Invalid command CustomLogl, perhaps mis-spelled or defined by a module not included in the server configuration

如您所见,第1059行的错误需要修复。
使用vi文本编辑器:

vi +1059 /etc/apache-perl/httpd.conf

更正后再次输入命令:

/usr/sbin/apache-perl -t S