我在ubuntu 18.04上安装了apache 2。这是全新安装,所有默认配置。
我尝试启动Apache 2,但失败了。这就是我所看到的
# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Wed 2020-03-11 23:17:35 WIB; 13s ago
Process: 9151 ExecStart=/usr/sbin/apachectl start (code=exited, status=139)
Mar 11 23:17:35 xdn.id systemd[1]: Starting The Apache HTTP Server...
Mar 11 23:17:35 xdn.id apachectl[9151]: Segmentation fault
Mar 11 23:17:35 xdn.id apachectl[9151]: Action 'start' failed.
Mar 11 23:17:35 xdn.id apachectl[9151]: The Apache error log may have more information.
Mar 11 23:17:35 xdn.id systemd[1]: apache2.service: Control process exited, code=exited status=139
Mar 11 23:17:35 xdn.id systemd[1]: apache2.service: Failed with result 'exit-code'.
Mar 11 23:17:35 xdn.id systemd[1]: Failed to start The Apache HTTP Server.
当我检查/var/log/apache 2/error. log时,它是空的。
这个错误有什么问题?
3条答案
按热度按时间oxf4rvwz1#
“status=139”错误肯定与启用了多个相互冲突的PHP版本有关。
我运行18.04和一个旧的PHP网站,我只运行本地停止工作。我猜aptitude安装并启用了php7.2,可能是在我几周前安装kubuntu-desktop的时候。
无论如何,我启用了两个版本的PHP:
在我的情况下,* 我很好地使用php5.6,因为该网站不是在线 *,纯粹是为我的本地使用。因此,禁用7.2做的伎俩:
现在,我的php mods-enabled对apache 3来说不那么困惑了:
当然对于一个活的网站,人们会想禁用php-5.6并保持php7.2启用,因为你应该在真实的生活中运行更新的版本。
PHP mods应该看起来像这样:
别忘了重新安装服务器!
感谢Pavel的评论激发了这一系列的研究!
huus2vyu2#
我得到了这个错误,我通过以下命令在我的ubuntu 20.04中启用PHP版本8.0(当前稳定)并禁用PHP版本7.4(旧)来修复它:
完成这些之后,通过以下方式检查Apache状态:
它必须是
green
,必须显示active (running)
。注意:你可以对任何你想要改变的PHP版本进行修改。
svdrlsy43#
我只是想分享我的案例。我在Ubuntu 22.04中安装了多个PHP版本。即使我输入
sudo a2dismod php5.6
,然后输入sudo a2dismod php7.2
,apache 2服务也无法启动。问题是我的php7.0 mod已启用。我不知道为什么它被激活了。所以,如果你仍然没有启动apache 2服务,尝试禁用所有apache 2-mod-php到你安装的每个php版本。然后启用您要使用的版本。我不知道为什么我找不到mod目录与汤姆给的命令。
现在,我的php mods-enabled对apache 3来说不那么困惑了:
$ l mods-*/php*
上面写着:
但是,由于我的LAMPP堆栈运行没有问题,我不关心“mod目录”至少现在