Problema (re) iniciando o Apache como serviço no Xampp [closed]

1

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

sc delete apache2.2

Quando eu verifico svc no painel de controle do xampp, o serviço aparentemente reinicia, ou seja, posso deletá-lo novamente com o comando mencionado, mas no painel de controle do Xampp ele diz "parado" (cinza em um fundo cinza). Clicar em "iniciar" não altera as coisas, embora eu receba uma mensagem "Serviço Apache iniciado".
No httpd.conf eu mudei o DocumentRoot, mas o Apache não parece ver as mudanças, embora pareça estar rodando. Pelo menos eu recebo uma página para http: // localhost, mas não a página à qual o novo DocumentRoot se refere.
Alguma idéia do que está 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 erro menciona o evento 3299.

    
por 3 revs, 2 users 67%anon 15.07.2009 / 01:19

5 respostas

3

"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 o que for. O serviço não seria recriado até que você reinstale o Apache ou use 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 "net restart").

Se você usar o "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. Eu não sei como fazer isso de improviso, 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 quando é iniciado. Possivelmente algo de 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. Consulte o link para obter informações sobre como executar o Apache como um aplicativo.

    
por 11.07.2009 / 11:12
1

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

    
por 11.07.2009 / 09:29
0

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

  • entenda como esses componentes estão vinculados
  • 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 projetos diferentes - assim, é fácil descartar uma instalação e reconstruí-la, sem afetar os outros projetos

Ferramentas como o XAMPP são ótimas para ter rapidamente uma instalação à mão; mas eles não são sem 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 excelente ferramenta gratuita: Windows Service Commander.

    
por 11.07.2009 / 09:58
0

[Ótimo! Desde que foi movido aqui do stackoverflow, não consigo editar minha própria mensagem!]

Eu tentei "net start apache2.2", mas diz

The Apache2.2 service could not be started

A service specific error occurred: 1.

More help is available by typing NET HELPMSG 3547.

O comando na última linha não deu mais informações.

@John:
Eu percebo que não posso iniciar um serviço que não está em execução, mas eu pensei que era o que a caixa de seleção svc no painel de controle do xampp era para. Ao verificar uma caixa de diálogo "Clique em OK para instalar o Apache Service" é mostrado, e quando eu faço isso diz "Serviço Apache iniciado".

    
por 11.07.2009 / 11:00
0

Você também pode reiniciar o serviço apache diretamente através do executável do apache, e você terá a opção -k reload / restart.

apache2.exe -k restart -n "apacheservicename"

Iirc.

    
por 11.07.2009 / 15:46