运行 apache2 时出错

运行 apache2 时出错

当我运行命令时:sudo service apache2 status出现此错误:

Dec 15 22:37:26 raspberrypi apache2[17459]: Starting web server: apache2 failed!
Dec 15 22:37:26 raspberrypi apache2[17459]: The apache2 configtest failed. ... (warning).
Dec 15 22:37:26 raspberrypi apache2[17459]: Output of config test was:
Dec 15 22:37:27 raspberrypi apache2[17459]: apache2:   
 Syntax error on line 225 of /etc/apache2/apache2.conf:  /etc/apache2/apache2.conf:225: <FilesMatch> was not closed.
Dec 15 22:37:27 raspberrypi apache2[17459]: Action 'configtest' failed.
Dec 15 22:37:27 raspberrypi apache2[17459]: The Apache error log may have more information.
Dec 15 22:37:27 raspberrypi systemd[1]: apache2.service: control process exited, code=exited status=1
Dec 15 22:37:27 raspberrypi systemd[1]: Failed to start LSB: Apache2 web server.
Dec 15 22:37:27 raspberrypi systemd[1]: Unit apache2.service entered failed state.
Dec 15 22:40:08 raspberrypi systemd[1]: Unit apache2.service cannot be reloaded because it is inactive.

在我的文件中有这样一行:

Include /etc/phpmyadmin/apache.conf

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

那里有什么问题?

答案1

加上\.php$双引号

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>

重新开始apache2

sudo service apache2 restart

如果这不能解决问题,请更改FilesMatchLocationMatch,然后重新启动apache2

<LocationMatch "\.php$">
SetHandler application/x-httpd-php
</LocationMatch>

答案2

问题是由于您复制粘贴了内容。相反,请在文件中手动输入以下内容/etc/phpmyadmin/apache.conf

<FilesMatch "\.php$">
     SetHandler application/x-httpd-php
</FilesMatch>

有时 Windows、Linux 和网页中的 Enter 看起来相同,但实际上,使用的字符与您使用的操作系统的 ASCII 不兼容。

答案3

将 ./php 括为“./php”

不要在最后一行使用 FilesMatch。

如果在最后一行使用 FilesMatch,则会出现错误。

使用所需的 FilesMatch ,位于 FilesMatch ^.ht 下方,如下所示

<FilesMatch "^\.ht"> Require all denied </FilesMatch> <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch>

我发送了我的代码并且它对我来说也运行良好。 这是我的代码截图

答案4

感谢你的回答。

我不知道该文件和/或 apache 发生了什么。我使用 nano 通过 ssh 做了一些更改,但我认为我甚至没有触碰过该特定文件。

无论如何,我重新安装了 apache2 并且它又可以工作了。

相关内容