web-dev-qa-db-pt.com

O Apache não está sendo executado a partir do Painel de Controle do XAMPP (Erro: Desligamento do Apache inesperadamente. Isso pode ser devido a uma porta bloqueada)

Eu instalei o XAMPP (xampp-win32-1.8.2-0-VC9-installer.exe) no Windows 7 com sucesso. Mas infelizmente, o seguinte erro foi encontrado durante a execução do Apache no Painel de Controle do XAMPP: 

5:38:38 PM  [Apache]    Error: Apache shutdown unexpectedly.
5:38:38 PM  [Apache]    This may be due to a blocked port, missing dependencies, 
5:38:38 PM  [Apache]    improper privileges, a crash, or a shutdown by another method.
5:38:38 PM  [Apache]    Press the Logs button to view error logs and check
5:38:38 PM  [Apache]    the Windows Event Viewer for more clues
5:38:38 PM  [Apache]    If you need more help, copy and post this
5:38:38 PM  [Apache]    entire log window on the forums

Error on running Apache at XAMPP Controm Panel

65
Ripon Al Wasim

Existem muitas respostas possíveis para esse problema. O mais comum e mais provável é que você esteja executando outro programa que está bloqueando a porta 80 ou 443. Se você instalou o Skype, encontrou o seu problema! Altere as configurações de porta do Apache para 81 e o Apache funcionará. Há um bom tutorial sobre isso Para verificar isso, você pode abrir sua linha de comando clicando no menu Iniciar e digitando 'cmd' e digite o comando

    netstat -nab

isso retornará uma lista de programas que se assemelharão vagamente a esse padrão

    [someprogram.exe]
    UDP     [fe80::numbers:numbers:numbers:numbers%numbers]:portnumber

Você precisa encontrar uma linha (ou linhas) terminando em: 80 e finalizá-las para iniciar o Apache. Se não houver linha que termine em: 80, há mais coisas que você pode fazer.

Primeiro, navegue até o diretório do xampp (o padrão é c:\xampp) e clique duas vezes em Apache_start.bat. Isso abrirá uma linha de comando e retornará erros mais detalhados sobre o motivo pelo qual o Apache não pode ser executado. Principalmente, procure por erros de sintaxe que você poderia ter criado editando seus arquivos httpd.conf ou httpd-ssl.conf. Isso é muito fácil de fazer se você tiver editado e for um novo usuário.

Se isso ainda falhar, sua última esperança é verificar o log de erros do Apache clicando na guia logs na linha do Apache no painel de controle do xampp e clicando em log de erros.

Se nada disso funcionar, não desista! Você tem isso!

Edit: Se você alterar a porta do Apache, você também terá que entrar no httpd.conf (localizado no xampp/Apache/conf) e perto da linha 184, substituir

ServerName localhost:80

com

ServerName localhost:81

Também é possível especificar a porta 81 na URL do seu host local, ou seja, 

localhost: 81/my_project.php

74
TheHiggsBroson

1. Vá em xampp/Apache/conf/httpd.conf e abra-o.
No arquivo httpd.conf em line 176 Substituir

ServerName localhost:80
com
ServerName localhost:81
Vai funcionar. 

Ou 2. Mesmo se o procedimento acima não funcionar. Em seguida, no mesmo arquivo (httpd.conf) em line 45 replace 

   #Listen 0.0.0.0:80
   #Listen [::]:80
   Listen 80 

com 

  #Listen 0.0.0.0:81
  #Listen [::]:81
  Listen 81
31
Muhammad Ashikuzzaman

Descobri que o painel de controle do XAMPP no Windows (no Windows 7, no meu caso) não reflete o que realmente está acontecendo, a menos que você inicie por "Executar como administrador".

14
101

Acompanhando a resposta de Timmay, você precisa fazer duas alterações:

Ouça 80 -> Ouça 81 (perto de linha 58)

ServerName localhost: 80 -> ServerName localhost: 81 (próximo à linha 218)

11
Sushant Kochar

Você executou o script "setup_xampp.bat"? Ele está dentro da pasta XAMPP e deve ser executado toda vez que você alterar a pasta do XAMPP.

10
Branyac

acabou de mudar de linha 2

Listen 80
to
Listen 81

ServerName localhost:80
to
ServerName localhost:81

e comece a usar privilégios de administrador

9
Behnam Mohammadi

No meu caso, o problema era que ambas as portas 80 e 443 estavam em uso: as etapas a serem usadas para corrigi-lo são:

  1. Abra o xampp e clique no botão config
  2. Agora clique em (Appache) httpd.conf (Abrir no bloco de notas ou outro editor)
  3. Agora clique ctrl + h.
  4. Encontre 80 e substitua por 8080
  5. Agora salve e agora clique em Appache (httpd-ssl.conf).
  6. Agora encontre 443 e substitua por 4430.
  7. Agora seu xampp deve estar funcionando bem, já que ambos os códigos nunca estão sendo usados ​​por outros programas em seu sistema.

Agora seu localhost estará disponível como localhost:8080

8
Black Mamba

Se você está instalado o Skype, por favor, marque esta opção.

enter image description here

Outro caso é o Windows 10

Verifique isso:

  1. Vá para Iniciar, digite services.msc 
  2. Role para baixo na janela Serviços Para localizar o Serviço de Publicação na World Wide Web. 
  3. Clique com o botão direito e selecione Parar ou Desativar se você quiser apenas usar o XAMPP apenas.

enter image description here

6
vanduc1102

Verifique se você tem o Skype instalado em sua máquina.

Entre e vá para Ferramentas - Opções - Avançado - Conexão e desmarque a caixa que diz usar a porta 80

-

Verifique se o serviço Apache já está instalado, acionando o services.msc a partir do comando run Prompt. 

Como excluir um serviço do prompt de comando? Sc delete “serviceName”

Lembre-se de que serviceName deve ser substituído pelo nome exato do serviço Apache, conforme mostrado na lista de serviços.

Verifique se o IIS está em execução e ocupando a porta 80. Em caso afirmativo, desative-o.

Verifique se o AVP (Kaspersky) está em execução e ocupando a porta 80. Nesse caso, adicione httpd.exe como uma exceção aos programas permitidos.

Espero que ajude.

6
Noor M

Eu instalei o VMWare Workstation. Então, estava causando o erro.

Services.msc and stopped the 'Workstation' Services.

Isso resolveu meus problemas.

Obrigado

6
Arpit B Parekh

eu encontrei esse problema semelhante no meu sistema, e que era do Skype instalado antes do xampp instalado. Eu tenho erro semelhante. para corrigir o erro eu segui estes,

  1. logado no skype por um tempo,
  2. reiniciei o Apache do painel de controle do xampp,
  3. verificado no navegador, se funcionou ou não, por http: // localhost/
  4. funcionou,
  5. entrou novamente no skype, 
  6. tudo funcionando muito bem, simples assim

eu não precisava de nada para instalar ou desinstalar, e isso funcionou para mim em menos de um minuto.

felicidades

3
mindlogixtech

vá para C: xampp\Apache\conf\extra\httpd-ssl.conf
Encontre a linha onde diz Escute 443, mude para Escuta 4330 e reinicie seu computador 

enter image description here

[! [insira a descrição da imagem aqui] [2]] [2]

1
Kamran

Se você enfrentar este problema diretamente após uma nova instalação completa no Windows :

Parece que o programa de instalação já inicia o processo http.exe e bloqueia a porta inicial 80, mas não reflete esse estado no painel de controle.

Para verificar, basta testar um servidor em execução no seu navegador. Digite na barra de endereço do seu navegador:

localhost

Se isso exibir o painel do XAMPP, tudo bem. Alternativamente, verifique o Gerenciador de Tarefas para ver se há um processo 'Apache HTTP Server' (httpd.exe) em execução.

Você poderia parar o processo do Apache com o xampp_stop.exe na sua pasta base do xampp. Em seguida, o painel de controle do XAMPP deve funcionar como esperado.

1
nessim

A melhor maneira de fazer isso:

Os outros métodos explicados acima irão fazer com que você fique preso em muitos lugares Não vá para mudar a porta 

Processo de 2 etapas

1) Abra o Prompt de Comando como Administrador 

2) tipo net stop http (se ele disser que não identifica a palavra-chave, então é somente porque o PATH da sua Variável Ambiental não contém o caminho para Arquivos de Programas/System32 que você pode pesquisar como fazê-lo) Y em todo lugar que lhe pede, não se preocupe, você não está parando nenhum processo importante, apenas algum processo que tomou o seu porto. E esse processo assumirá novamente a sua porta quando você não estiver trabalhando.

1
Ryuzaki

Pode haver muitos métodos para resolver este problema, mas aqui está o mais simples:

Vá para o controle do XAMPP e ... 

Executar como administrador

Isso é tudo..

Este é o ponto de ouro para qualquer anormalidade.

Conceito por trás do trabalho

Na verdade, todos os serviços no Xampp precisam de dependência de portas. O que acontece é que, quando não há poderes especiais dados ao xampp, ele procura apenas por algumas portas predefinidas para executar esses serviços. E, no caso, essas portas já estão de alguma forma ocupadas ... eek! o serviço não pôde ser iniciado.

Mas se dermos superpotência ao nosso controle Xampp (rodando como administrador), ele irá de alguma forma gerenciar e certamente na terra rodará os serviços nas portas. E triunfo! Você conseguiu.

Permanente dica para o meu querido irmão e irmãs

Para fazer um esforço por todos, siga estes passos:

  • right-click no arquivo xampp-control.exe e vá para propriedades.
  • Vá para Compatibilidade Tab.
  • Nas configurações abaixo, escolha a caixa de seleção Execute este programa como administrador .
  • Aplique as alterações. E você está feito.

Agora, toda vez que você executar o aplicativo, ele será executado com o status Administrador e você não precisará se preocupar com as portas.

1
Kartik Arora

Se você instalou o SQL Express ou qualquer servidor .Net, então você precisa parar. Abra o cmd no modo de administrador e digite esta linha ... 

net stop foi

agora inicie o Apache

1
Ajay Bhayani

No meu caso, eu não tinha a pasta htdocs na pasta xampp. Parece que é necessário que a pasta htdocs seja executada para que você possa criar uma pasta htdocs vazia na pasta xampp.

0
cweitat

Eu tenho uma solução. Eu tive esse problema e pesquisei uma solução, mas não tive sucesso. Então eu baixei uma versão mais recente do XAMPP e cliquei na opção netstats dentro do programa.
Lá ele me deu uma lista de programas e as portas que eles usavam e então eu olhei e não tinha nenhum programa usando a porta 80, mas o Apache além do 80 também usa o port 443... e havia um programa chamado Pando Media Boster dessa porta, eu iniciei o gerenciador de tarefas e terminei o processo de pando Average boster. Espero que tenha ajudado :).

0
David

Para mim foi por causa do vmware (serviços - tem cerca de 2 ou 3 serviços diferentes), pare e tudo funciona bem

0
Pooriya Arazesh

Provavelmente você alterou o arquivo de configuração em "httpd-ssl.conf"

<VirtualHost _default_:443>
DocumentRoot "D:/Server/xServer"
ServerName xyz.abc.com
SSLCertificateFile "conf/ssl.crt/xyz.crt"
SSLCertificateKeyFile "conf/ssl.key/sftaps.in.key"
</VirtualHost>

Pode ser que você mude o nome do certificado ou algo na pasta Apache.

0
SftAps

Mesmo se você configurou o Apache para escutar em outra porta, você ainda receberá este erro se outro programa estiver usando a porta SSL padrão 443.

O que você também precisa editar é o arquivo http-ssl.conf e alterar a linha Listen 443 e mude o número da porta lá.

0
tno2007

Usando o XAMPP para desenvolvimento de laravel atualmente.

Eu tenho skype instalado na minha área de trabalho, que bloqueia as portas 80 e 443 (ambas as quais o Apache usa)

Essa correção funcionou para mim:

1) Em C:\xampp\Apache\conf\httpd.conf, procure por Listen 80 e mude para Listen 81

2) Em C:\xampp\Apache\conf\extra\httpd-ssl.conf, procure por Listen 443 e mude para Listen 444

0
Vincent Tang