человечность 18.04 LTS: Не удалось запустить Apache Сервер HTTP

Я не могу способный перезапустить apache2 сервис. Я выполняю эту команду apache2ctl configtest и это ниже ошибки это показывает:

apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 2 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.

когда я выполняюсь, apache2 сервис запускают команду, которую он показывает этому ниже ошибки:

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 Sat 2018-10-27 21:39:15 IST; 14s ago
  Process: 24290 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
 Main PID: 19188 (code=exited, status=0/SUCCESS)

Oct 27 21:39:15 abc systemd[1]: Starting The Apache HTTP Server...
Oct 27 21:39:15 abc apachectl[24290]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error 
Oct 27 21:39:15 abc apachectl[24290]: Action 'start' failed.
Oct 27 21:39:15 abc apachectl[24290]: The Apache error log may have more information.
Oct 27 21:39:15 abc systemd[1]: apache2.service: Control process exited, code=exited status=1
Oct 27 21:39:15 abc systemd[1]: apache2.service: Failed with result 'exit-code'.
Oct 27 21:39:15 abc systemd[1]: Failed to start The Apache HTTP Server.

Как решить эту ошибку и выполнить apache2 успешно?

Пожалуйста, помогите мне.

Спасибо.

2
задан 27 October 2018 в 19:27

2 ответа

Извинения за то, что не были спрошены специфические особенности перед рукой, но комментарием к этому и я могу попытаться обновить этот ответ, чтобы быть более конкретным.

Ошибка довольно очевидна. Apache имеет структуру для загрузки модулей, присоединенных к сервису. На Ubuntu существует 3 важных файла для каждого модуля. Давайте посмотрим на mpm_prefork модуль, который Вы должны, вероятно, иметь из поля. В/etc/apache2/mods-enabled/Вы найдете mpm_prefork.load и mpm_prefork.conf файл.

Считайте тех, которые имеют vi или нано как так nano /etc/apache2/mods-enabled/mpm_prefork.load В здесь, Вы будете видеть, что это ищет сопутствующий названный двоичный файл /usr/lib/apache2/modules/mod_mpm_prefork.so. Заметьте, как путь кажется подобным ошибке, которую Вы получаете?

Таким образом в Вашем случае у Вас, кажется, есть php7.0.load файл, который ищет /usr/lib/apache2/modules/libphp7.0.so. Необходимо надеяться видеть, что файл действительно там или не путем списка того каталога с ls /usr/lib/apache2/modules/ Это там?

В противном случае затем я рекомендую пытаться переустановить php, который не был бы худшей идеей, так как php7.0 будет устаревшим скоро так или иначе (3 декабря 2018, чтобы быть точным).

Так выполняет следующее:

dpkg --get-selections | grep php* // list all php packages installed
sudo apt remove php7.0 // but replace php7.0 with whatever you installed
sudo apt update
sudo apt install php libapache2-mod-php
0
ответ дан 2 December 2019 в 06:53

В моем случае это произошло из-за обновления php, но провело задним числом конфигурацию. Попробуйте следующие команды

a2dismod php7.0
mv /etc/apache2/mods-available/php7.0.conf /etc/apache2/mods-available/php7.2.conf
mv /etc/apache2/mods-available/php7.0.load /etc/apache2/mods-available/php7.2.load
vim /etc/apache2/mods-available/php7.2.load
a2enmod php7.2
service apache2 start

измените содержание с php7.2. Проверьте свою php версию и замену правильно. Команды перемещения не важны, но хороши для синхронизации с именем версии.

0
ответ дан 2 December 2019 в 06:53

Другие вопросы по тегам:

Похожие вопросы: