Problema (re)iniciar o Apache como serviço no Xampp

Problema (re)iniciar o Apache como serviço no Xampp

Olá,
depois de fazer alterações no httpd.conf, quero reiniciar o Apache como serviço no Xampp. Eu o removi primeiro de acordo com o conselho de Nelson:

sc delete apache2.2

Quando eu verifico o svc no painel de controle do xampp, o serviço aparentemente reinicia, ou seja, posso excluí-lo novamente com o comando mencionado, mas no painel de controle do Xampp diz "parado" (cinza sobre fundo cinza). Clicar em "iniciar" não muda as coisas, embora eu receba uma mensagem "Serviço Apache iniciado".
No httpd.conf mudei o DocumentRoot, mas o Apache parece não ver as mudanças, embora pareça estar em execução. Pelo menos recebo uma página para http://localhost, mas não a página à qual o novo DocumentRoot se refere.
Alguma ideia do que há de errado aqui?
TIA
Steven

editar
Quando tento iniciar o Apache usando o Console de Serviços, recebo um erro "O Windows não pôde iniciar o Apache2.2 no computador local, patatee, patata...". O log de erros menciona o evento 3299.

Responder1

"sc delete" exclui um serviço do Windows, ou seja, o serviço não existe mais e não pode ser iniciado, interrompido ou qualquer outra coisa. O serviço não seria recriado até que você reinstalasse o Apache ou usasse o comando sc para recriar o serviço. A maneira correta de reiniciar o serviço a partir da linha de comando seria:

net stop apache2.2
net start apache2.2

(irritantemente, não há uma opção de "reinicialização da rede").

Se você usar "net start apache2.2", ele retornará um erro? Se você receber um erro "O nome do serviço é inválido". então você precisa recriar o serviço. Não sei como fazer isso imediatamente, mas deve ser simples.

Jr.

Ocorreu um erro específico do serviço: 1

Isso indica que o serviço Apache está instalado, mas o próprio Apache está relatando um erro ao ser iniciado. Possivelmente algo errado com seus arquivos de configuração. A tática usual é tentar executar o Apache como um aplicativo para que você possa ver as mensagens de erro que ele produz. Verhttp://httpd.apache.org/docs/2.2/platform/windows.html#winconspara saber como executar o Apache como um aplicativo.

Responder2

Nunca usei o Painel de Controle do XAMPP. Mas quando usei o XAMPP pela última vez, descobri que a maneira mais fácil de reiniciar o Apache era através do console de serviços regular do Windows.

Responder3

Eu sei que isso não responde diretamente à sua pergunta, mas recomendo instalar o apache/php/perl/mysql manualmente. Isso permitirá que você:

  • entender como esses componentes estão ligados
  • altere a versão do componente conforme necessário (alguns projetos podem exigir versões diferentes)
  • inicie esses componentes no console - isso ajudará você a depurar e controlar melhor
  • você pode ter várias instalações para diferentes projetos - desta forma é fácil descartar uma instalação e reconstruí-la, sem afetar os outros projetos

Ferramentas como o XAMPP são ótimas para ter uma instalação rápida em mãos; mas eles não estão isentos de falhas. Embora a promessa de integração seja atraente, na maioria das vezes você terá que fazer isso manualmente - e é uma abordagem mais poderosa.

Se você precisar mexer nos serviços do Windows, recomendo esta ótima ferramenta gratuita: Windows Service Commander.

Responder4

Você também pode reiniciar o serviço Apache diretamente através do executável do Apache e tem uma opção -k recarregar/reiniciar.

apache2.exe -k restart -n "apacheservicename"

Iirc.

informação relacionada