Не удалось запустить Apache-ServerRoot должен быть допустимым каталогом и не может найти указанный модуль
я использую портативный сервер xampp, и у меня возникли проблемы с http-сервером Apache, он говорит: "ServerRoot должен быть допустимым каталогом"
вывод командной строки:
Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 35 of K:/../../../xampp/apache/conf/httpd.conf: ServerRoot must be a valid directory
Apache could not be started
Я проверил строку 35 xampp/apache/conf / httpd.conf, а именно:
ServerRoot "/xampp/apache"
, которого не существует. Мои папки:
K:/../../../xampp/apache/conf <- where the httpd.conf is
K:/../../../xampp/apache/ <- the server root
K:/../../../xampp/apache/modules <- where server modules are
если я изменю (в строке 35) на
ServerRoot ".."
Он говорит:
Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 65 of K:/../../../xampp/apache/conf/httpd.conf: Cannot load modules/mod_access_compat.so into server: Unable to find the specified module
Apache could not be started
Я проверил, и modules / mod_access_compat.так существует, поэтому я не могу понять, как это исправить.
любая помощь будет оценена
11 ответов
просто запустить setup_xampp.bat из оболочки и пути должны быть установлены автоматически для портативной версии XAMPP для windows. Это сработало для меня.
перейдите к httpd.conf файл в conf direcotry в Apache24 или любой файл apache у вас есть.
перейти к ServerRoot=".."линия и изменить значение на путь, где apache расположен, как "C:\Program Files\Apache24"
если открыть редактор и перейти к точной строке, показанной в сообщении об ошибке (в файле httpd.conf
), это то, что вы увидите:
#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
на пути к модулям, например,modules/mod_actions.so
, все указано относительно, и они по отношению к заданное значение ServerRoot
. ServerRoot
определяется в верхней части httpd.conf
(ctrl-F для ServerRoot "
).
ServerRoot обычно устанавливается абсолютно, что было бы K:/../../../xampp/apache/
в вашем посте.
но это также можно установить относительно,по отношению к рабочий каталог (cf.). Если рабочим каталогом является Apache bin
папка, затем используйте эту строку в своем httpd.conf
:
ServerRoot ../
если рабочий каталог является папкой Apache, то этого будет достаточно:
ServerRoot .
если рабочий каталог является папкой C: (одна папка над папкой Apache), то используйте это:
ServerRoot Apache
для служб apache рабочий каталог будет C:\Windows\System32
, так что используйте этот:
ServerRoot ../../Apache
Если вы используете версию actuall, есть "setup_xampp.bat/.sh" скрипт в корневом каталоге. Путь должен быть абсолютным, но сценарий изменяет все необходимые пути к вашему текущему местоположению.
- перейти к XAMPP каталог, вы найдете папку под названием apache, откройте его, затем скопируйте его путь, мой путь "D:\Hacking инструменты 2\программы\XAMPP V2\apache"
- открыть Апач\конф\файл httpd.conf С любым текстовым редактором
- прокрутите вниз до линии 30-40
- вы найдете такой код:
ServerRoot "xampp\apache"
- теперь измените его на apache каталог, как я сказал в Шаг #1 мой путь "D:\Hacking инструменты 2\программы\XAMPP V2\apache", значит, мой код будет
ServerRoot "D:\Hacking Tools 2\Programs\XAMPP V2\apache"
- это должно выглядеть как-то так:
ServerRoot "D:\XAMPP\apache"
- теперь вернитесь к XAMPP основной каталог и запустить xampp_start.exe
это сработало для меня, если это не сработает для вас, просто прокомментируйте значение ошибки после открытие xampp_start.exe
Run "setup_xampp.bat/.sh-а потом ... Удалите " \ " в конце, поэтому ваш ServerRoot должен быть похож "С.:....\ apache"нет "С.:....\ apache\"
убедитесь, что ваш ServerRoot
в httpd.conf правильно указывает на путь Apache. В противном случае вы увидите это сообщение для каждого последующего модуля.
изменить путь ниже в httpd.conf файл для вашей установки. Это исправит проблему.
Define SRVROOT "C:\Apache24"
ServerRoot "${SRVROOT}"
Я проверил строку 35 xampp/apache/conf / httpd.conf, а именно:
ServerRoot"/xampp / apache"
, которого не существует. ...
создайте каталог или измените путь к каталогу, содержащему гипертекстовые документы.