Проблемы с загрузкой микросервера HP

Недавно я установил Ubuntu на SSD в микросервере HP Gen8. Несколько недель он работал отлично, но теперь не загружается.

Однажды он случайно начал отказываться загружаться, выдавая ошибку типа «нет системного диска или ошибки диска».

Мне удалось загрузиться с Ubuntu LiveUSB и оттуда получить доступ к диску и всему его содержимому, так что диск выглядел исправным.

Я попытался запустить Boot Repair , но это не имело никакого значения.

Я попытался стереть диск и переустановить Ubuntu - в первый раз это не удалось, сославшись на «невозможно установить загрузчик в желаемое место». Во второй раз установка прошла нормально, но я все еще не могу загрузиться - BIOS, похоже, не находит никаких загрузочных дисков, а затем начинает попытки загрузиться с сетевой карты.

Любые предложения относительно того, что я могу пытаться, Мне нужно установить и запустить libapache2-mod-php5, чтобы Apache мог читать php_value внутри файла .htaccess. TL; DR ошибка ...

У меня Vagrant Debian Wheezy с Apache 2.4.10 и Php 5.6.26 Мне нужно установить и запустить libapache2-mod-php5, чтобы Apache мог читать php_value внутри файла .htaccess. TL; DR ошибка возникает при перезапуске Apache:

$ apachectl -M
apache2: Syntax error on line 37 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: undefined symbol: unixd_config
Action '-M' failed.
The Apache error log may have more information.

Это версия PHP:

$ php -v
PHP 5.6.26-1~dotdeb+7.1 (cli) (built: Sep 18 2016 19:52:57) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.5.0-dev, Copyright (c) 2002-2016, by Derick Rethans

И это конфигурация Apache:

$ apache2 -V
[Mon Sep 26 23:27:20.618601 2016] [core:warn] [pid 25105] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Sep 26 23:27:20.623081 2016] [core:warn] [pid 25105:tid 139878783203136] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
[Mon Sep 26 23:27:20.623438 2016] [core:warn] [pid 25105:tid 139878783203136] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
Server version: Apache/2.4.10 (Debian)
Server built:   Nov  7 2014 12:05:20
Server's Module Magic Number: 20120211:37
Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"

Позже я прочитал, что libapache2-mod-php5 нужно скомпилировать с prefork MPM , поэтому снова перекомпилирован с включенным mpm-prefork:

$ sudo a2dismod worker                 
Module worker disabled.
To activate the new configuration, you need to run:
  service apache2 restart

$ sudo a2enmod mpm_prefork
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled

$ sudo service apache2 start  
[ ok ] Starting web server: apache2.

$ apache2 -V
[Mon Sep 26 23:05:35.463940 2016] [core:warn] [pid 22298] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Mon Sep 26 23:05:35.466868 2016] [core:warn] [pid 22298] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
[Mon Sep 26 23:05:35.467139 2016] [core:warn] [pid 22298] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
Server version: Apache/2.4.10 (Debian)
Server built:   Nov  7 2014 12:05:20
Server's Module Magic Number: 20120211:37
Server loaded:  APR 1.5.1-dev, APR-UTIL 1.5.3
Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"

$ sudo apt-get remove libapache2-mod-php5
...
$ sudo apt-get autoclean
...
$ sudo apt-get install libapache2-mod-php5
...
$ sudo a2enmod php5
Enabling module php5.
To activate the new configuration, you need to run:
  service apache2 restart
$ sudo service apache2 restart
[FAIL] Restarting web server: apache2 failed!
[warn] The apache2 configtest failed. ... (warning).
Output of config test was:
apache2: Syntax error on line 37 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: undefined symbol: unixd_config
Action 'configtest' failed.
The Apache error log may have more information.

Но все равно выдает ту же ошибку. Я понятия не имею, что мне здесь не хватает. Мне действительно нужно избавиться от этих ошибок при чтении php_value внутри файлов .htaccess.

РЕДАКТИРОВАТЬ - нашел решение

Благодаря ответу @ Unbeliever я обнаружил, что машина puPHPet Vagrant. Я использую php-FPM вместо старого mod_php (это происходит с марта 2015 года). Позже я обнаружил, что php-FPM (как и другие версии php CGI / FCGI) может читать php_value в файле user.ini, как написано на https://secure.php.net/manual /en/configuration.file.per-user.php. Так что было бы хорошо поместить файл php.ini вместе с .htaccess, чтобы обеспечить полную поддержку.

0
задан 30 September 2016 в 17:07
1 ответ

Символ undefined означает, что у вас установлен пакет mod_php, который был скомпилирован для более ранней версии Apache.

Вы сможете исправить это, обновив libapache2-mod-php5 до скомпилированного против Apache v2.4.

Извините, я не эксперт по репозиториям Linux, но вам, вероятно, нужно получить libapache2-mod-php5 из того же репозитория, что и Apache httpd.

2
ответ дан 4 December 2019 в 13:38

Теги

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