Apache无法在Linux Mint中启动

np8igboo  于 2022-11-16  发布在  Apache
关注(0)|答案(8)|浏览(148)

好了,我对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/apache 2/apache2.conf文件中的第140行:

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

于是我试探着:

sudo apt-get install libapache2-mod-php

我得到:

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^)。我已经删除了:mysite.conf从可用的.sites...
似乎没有什么能让它工作,我不断得到“Apache2.Service的工作失败”。

uqcuzwp8

uqcuzwp81#

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

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

qzlgjiam2#

好的,这是一个愚蠢的错误,我运行了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/apache 2/mods-enabled/php7.0.load**,在第3行它有:

LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so

但是在我的**/usr/lib/apache 2/modules**文件夹中,我有一个更新的模块:

libphp7.2.so

所以在**/etc/apache 2/mods-enabled/php7.0.load**中我将其更改为:

LoadModule php7_module /usr/lib/apache2/modules/libphp7.2.so

然后重新启动apache,它的工作就像一个魅力!!!
注意:我不知道这是否是正确的方法,但它是工作。

2skhul33

2skhul333#

在我的情况下,升级到Ubuntu 20.04 LTS时发生了故障。模块libphp7.2.so而不是libphp7.4.so被加载到配置文件中Melesio Marquez的解决方案起作用了!

qaxu7uf2

qaxu7uf24#

我面对的错误:
/etc/apache 2/apache2.conf文件的第146行出现语法错误:/etc/的第1行出现语法错误
从Ubuntu 18.04升级到20.04(从php 7.3升级到php 7.4)之后
我用跑步的方法解决了这个问题

sudo apt install libapache2-mod-php7.4
3ks5zfa0

3ks5zfa05#

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

php -v

然后编写以下命令

sudo a2dismod php7.3

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

systemctl restart apache2

如果你想确认你的确认

apache2ctl configtest

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

vc9ivgsu

vc9ivgsu6#

/etc/apache 2/mods-enabled/中的文件是指向/etc/apache 2/mods-available/* 的符号链接,因此只需删除它们并创建新的符号链接。要在/usr/bin/bar中创建一个引用原始文件/opt/foo的符号链接,请用途:ln -s /选项/foo /用户/bin/栏
修复

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

请确保文件存在并且旧链接已删除。编辑符号链接将导致将来出现升级问题。

ubby3x7f

ubby3x7f7#

我使用了这个解决方案的一个变体,我只是进入/etc/apache2/mods-enabled,并将../mods-available/php8.1.load符号化地链接到php8.1.load,将../mods-available/php8.1.conf符号化地链接到php8.1.conf

bvhaajcl

bvhaajcl8#

在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/apache 2/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

相关问题