Apache没有在linux mint中启动

Apache没有在linux mint中启动,apache,configuration,linux-mint,Apache,Configuration,Linux Mint,好的,我对Apache还比较陌生:我试图创建一个本地网站(在sites available文件夹中创建.conf文件,在var/www/mysite/etc中创建文件夹),然后,我停止了Apache(使用systemctl stop apache2.service),但现在如果我尝试重新启动(systemctl restart apache2.service)它抛出以下错误: apache2.service的作业失败,因为控制进程以>错误代码退出。有关详细信息,请参阅“systemctl sta

好的,我对Apache还比较陌生:我试图创建一个本地网站(在sites available文件夹中创建.conf文件,在var/www/mysite/etc中创建文件夹),然后,我停止了Apache(使用systemctl stop apache2.service),但现在如果我尝试重新启动(systemctl restart apache2.service)它抛出以下错误:

apache2.service的作业失败,因为控制进程以>错误代码退出。有关详细信息,请参阅“systemctl status apache2.service”和“journalctl-xe”

这是journalctl-xe的结果:

Mar 22 16:33:13 user-xxx apache2[10403]:  * Starting Apache httpd web server apach
Mar 22 16:33:13 user-xxx apache2[10403]:  *
Mar 22 16:33:13 user-xxx apache2[10403]:  * The apache2 configtest failed.
Mar 22 16:33:13 user-xxx apache2[10403]: Output of config test was:
Mar 22 16:33:13 user-xxx apache2[10403]: apache2: Syntax error on line 140 of /etc/apache2/apache2.conf:
Mar 22 16:33:13 user-xxx apache2[10403]: Action 'configtest' failed.
以及/etc/apache2/apache2.conf中的第140行:

# Include module configuration:
IncludeOptional mods-enabled/*.load <--This one
IncludeOptional mods-enabled/*.conf
我得到:

libapache2-mod-php is already the newest version (1:7.2+60+ubuntu16.04.1+deb.sury.org+1).
我还尝试了什么:删除Apache并再次安装,安装lamp(sudo apt get install lamp server^)。 我已经从available.sites中删除了:mysite.conf


似乎没有什么能让它工作,我一直得到“apache2.service失败的作业”。

好的,有点愚蠢的错误,我运行了apachectl configtest以获得更详细的错误,我得到:

apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax 
error on line 3 of /etc/apache2/mods-enabled/php7.0.load: Cannot load 
/usr/lib/apache2/modules/libphp7.0.so into server: 
/usr/lib/apache2/modules/libphp7.0.so: cannot open shared object file: 
No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
因此,我检查了/etc/apache2/mods enabled/php7.0.load,在第3行它有:

LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so
但是在我的/usr/lib/apache2/modules文件夹中,我有一个更新的模块:

libphp7.2.so
因此,在/etc/apache2/mods enabled/php7.0.load中,我将其更改为:

LoadModule php7_module /usr/lib/apache2/modules/libphp7.2.so
然后重启apache,它就像一个魔咒一样工作


注意:我不知道这是否是正确的方法,但它正在工作。

在我的例子中,升级到Ubuntu 20.04 LTS时失败了。模块libphp7.2.so而不是libphp7.4.so被加载到conf文件中,Melesio Marquez的解决方案成功了

在Ubuntu 20.04上也有同样的问题:

Syntax error on line 146 of /etc/apache2/apache2.conf: 
Syntax error on line 3 of /etc/apache2/mods-enabled/php7.3.load: 
Cannot load /usr/lib/apache2/modules/libphp7.3.so into server: /usr/lib/apache2/modules/libphp7.3.so: 
cannot open shared object file: No such file or directory
更新了/etc/apache2/mods enabled/php7.3.load以指向libphp7.4.so:

#LoadModule php7_module /usr/lib/apache2/modules/libphp7.3.so
LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so

/etc/apache2/mods enabled/中的文件是指向/etc/apache2/mods的符号链接/* 所以只需删除它们并创建新的。要在/usr/bin/bar处创建引用原始文件/opt/foo的符号链接,请使用:ln-s/opt/foo/usr/bin/bar

修理

cd /etc/apache2/mods-enabled/
rm php7.*
sudo ln -s /etc/apache2/mods-available/php7.4.load php7.4.load
sudo ln -s /etc/apache2/mods-available/php7.4.conf php7.4.conf

确保文件存在,并删除旧链接。编辑符号链接将导致将来的升级问题。

在ubuntu更新到20.04之后,我将PHP更改为7.4

sudo a2dismod php7.3
sudo a2enmod php7.4
sudo apachectl configtest
sudo systemctl restart apache2

您可以从这里查看您的PHP版本->

php -v
然后编写这个命令

sudo a2dismod php7.3
您应该看到模块
php7.3
已禁用。 要激活新配置,您需要运行:

systemctl restart apache2
如果你想确定的话,检查一下你的谈话

apache2ctl configtest
您应该看到(语法正常) 最后,重新启动apache服务器(
sudo systemctl restart apache2

我遇到了错误:

/etc/apache2/apache2.conf的第146行出现语法错误:/etc的第1行出现语法错误/

从Ubuntu 18.04升级到20.04后(PHP7.3到PHP7.4)

我通过跑步解决了这个问题

sudo apt install libapache2-mod-php7.4

在我的例子中,我只找到了
libphp7.3。所以
。解决这个问题的正确方法是下面Audrius的解决方案。嗨@eugho,欢迎来到Stackoverflow!很高兴你愿意贡献自己的知识并与他人分享。请注意:在回答之前,请仔细阅读问题。你会注意到原始海报上有一个与你在回答中描述的完全不同的错误。您的错误是“没有这样的文件或目录”,而他们的错误是“在/etc/apache2/apache2.conf的第140行出现语法错误”。(这里不是想做一个傻瓜,只是想帮助你提高。)嗨@Stefan,请看海报自己给出的答案。他确实添加了与我提供的错误匹配的其他错误日志。您好@eugho,对不起,Stackoverflows review UI只要求我查看您的答案,所以我没有看到任何其他内容。:)在任何情况下,我都会要求你熟悉好答案的发布指南:--你认为你的答案属于哪一类?:)--注意安全!非常感谢你。我在ubuntu 20.04更新后遇到了这个问题。
sudo apt install libapache2-mod-php7.4