当我运行命令时: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
如果这不能解决问题,请更改FilesMatch
为LocationMatch
,然后重新启动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 并且它又可以工作了。