Привет,
после внесения изменений в httpd.conf я хочу перезапустить Apache как службу в Xampp. Я сначала удалил его по совету Нельсона:
sc delete apache2.2
Когда я проверяю svc на панели управления xampp, служба, по-видимому, перезапускается, т. е. я могу успешно удалить ее снова с помощью вышеупомянутой команды, но на панели управления Xampp она показывает «остановлена» (серый на сером фоне). Нажатие «запустить» ничего не меняет, хотя я получаю сообщение «Служба Apache запущена».
В httpd.conf я изменил DocumentRoot, но Apache, похоже, не видит изменений, хотя он, кажется, работает. По крайней мере, я получаю страницу для http://localhost, но не страницу, на которую ссылается новый DocumentRoot.
Есть идеи, в чем тут проблема?
TIA
Steven
редактировать
При попытке запустить Apache с помощью консоли служб возникает ошибка «Windows не удалось запустить Apache2.2 на локальном компьютере, patatee, patata...». В журнале ошибок упоминается событие 3299.
решение1
"sc delete" удаляет службу Windows, то есть служба больше не существует и не может быть запущена, остановлена или что-то еще. Служба не будет создана заново, пока вы не переустановите Apache или не используете команду sc для ее повторного создания. Правильный способ перезапустить службу из командной строки был бы таким:
net stop apache2.2
net start apache2.2
(досадно, что нет опции «сетевого перезапуска»).
Если вы используете "net start apache2.2", возвращает ли он ошибку? Если вы получаете ошибку "Недопустимое имя службы", то вам нужно пересоздать службу. Я не знаю, как это сделать навскидку, но это должно быть просто.
Дж.Р.
Произошла ошибка, связанная с сервисом: 1
Это означает, что служба Apache установлена, но сам Apache сообщает об ошибке при запуске. Возможно, что-то не так с его файлами конфигурации. Обычная тактика — попытаться запустить Apache как приложение, чтобы увидеть все сообщения об ошибках, которые он выдает. Смотритеhttp://httpd.apache.org/docs/2.2/platform/windows.html#winconsдля информации о запуске Apache как приложения.
решение2
Я никогда не пользовался панелью управления XAMPP. Но когда я последний раз пользовался XAMPP, я в конце концов обнаружил, что самый простой способ перезапустить Apache — через обычную консоль служб Windows.
решение3
Я знаю, что это не прямой ответ на ваш вопрос, но я рекомендую установить apache/php/perl/mysql вручную. Это позволит вам:
- понять, как связаны эти компоненты
- при необходимости измените версию компонента (для некоторых проектов могут потребоваться другие версии)
- запустите эти компоненты в консоли - это поможет вам лучше отлаживать и контролировать
- вы можете иметь несколько установок для разных проектов — таким образом, можно легко удалить установку и перестроить ее, не затрагивая другие проекты.
Такие инструменты, как XAMPP, отлично подходят для быстрой установки под рукой; но они не лишены недостатков. Хотя обещание интеграции заманчиво, большую часть времени вам придется делать это вручную - и это более мощный подход.
Если вам нужно поработать со службами Windows, я рекомендую этот замечательный бесплатный инструмент: Windows Service Commander.
решение4
Вы также можете перезапустить службу Apache напрямую через исполняемый файл Apache, используя опцию -k reload/restart.
apache2.exe -k restart -n "apacheservicename"
Ясно.