XAMPP: não foi possível iniciar o Apache (Windows 10)

89

Estou usando o XAMPP e posso iniciar o Apache, mas o MySQL ( phpMyAdmin ) iniciar!

Quando eu começo, recebo este erro;

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

Eu procuro nele e mudo a porta do Apache em Config -> Service and Port setting. Eu tenho;

Service name: Apache 2.4
Main port: 122
SSL port: 444

Eu também desinstalo o Skype (versão Windows 8/10 / Metro). Nada está funcionando. No arquivo httpd.conf que possuo;

Listen 122
ServerName localhost:122

Eu começo via apache_start.bate obtenho;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Observe que todos os arquivos de log não existem! O Skype está desinstalado.

Félix Desjardins
fonte
Você verificou se a porta está bloqueada?
Rizier123
1
Tente correr como administrador também
nonamorando
3
Você está executando o skype quando está tentando habilitar o apache? Nesse caso, altere as configurações do skype.
iSaumya
3
Você não pode ter localhost:80e ouvir a porta 122. Escolha qual porta ouvir.
Lorenz Meyer
Ok, fiz algumas modificações: @ Rizier123 -> verifico, mas não tenho certeza se é o bom caminho. @ Will-Campbell -> Sim, mas nada mais. @iSaumya -> O Skype não está no meu computador. @ Lorenz-Meyer -> Eu tenho agora Listen 122eServerName localhost:122
Félix Desjardins

Respostas:

223

Atualização: 15 de maio de 2018:

A atualização mais recente do Windows 10 (re) ativou o Serviço de Publicação na World Wide Web (em alemão: WWW-Publishingdienst ). Isso pode depender das opções selecionadas durante a configuração da atualização que pode ser feita posteriormente.

Atualização: 4 de agosto de 2015:

Se você fez uma instalação limpa do Windows 10, pode não ter o Serviço de Publicação do Word Wide Web . Nesse caso, a instalação simples do WAMP / XAMPP deve funcionar bem.

Caso contrário, tente instalar o Visual C ++ Redistributable e, em seguida, reinstale o WAMP / XAMPP.


Eu estava enfrentando um problema semelhante com o WAMP. No Windows 10 TP, o Word Wide Web Publishing Service vem pré-instalado. Isso está relacionado ao IIS e você pode removê-lo se não precisar dele.

Isso bloqueia a porta 80, fazendo o Apache agir de maneira estranha. Você pode fazer o seguinte e tentar novamente.

  • Vá para Iniciar, digite services.msc
  • Role para baixo na janela Serviços para localizar o Serviço de Publicação na World Wide Web .
  • Clique com o botão direito e selecione Parar .

Isso deve tornar a porta 80 livre e reiniciar o WAMP / XAMPP deve colocá-lo em funcionamento!

Existem outras maneiras de corrigir isso. Consulte Fazer com que o WAMP funcione no Windows 10 .

Praveen Puglia
fonte
7
E se eu não tiver "Serviço de publicação na World Wide Web" como um serviço listado?
Xtremefaith
6
O nome do serviço é W3SVC, enquanto a descrição é Serviço de publicação na World Wide Web . Inicialmente, pensei que não tinha o serviço porque não estava vendo o serviço descrito ao classificar por nome.
Jake Z
1
Sim, eu também tive esse problema, ele ficava me dizendo "Um processo com um PID de 4 está usando a porta 80" quando eu verifiquei, o nome do processo era "Sistema". Fiquei pensando que poderia bagunçar meu PC se tentasse interromper esse processo. Mas funcionou perfeitamente. Obrigado
Programador Kebab de
1
Para aqueles que usam o Uniform server Z (o que é ótimo!), Posso confirmar que está funcionando para esse servidor também.
MisterM
1
@PraveenPuglia hum .. comentário interessant, work to me! eu tento remover o arquivo "ntoskrnl.exe" é uma causa porta 4 ... muitas pesquisas no google dizem vírus ... bons serviços para parar é trabalho lol .. obrigado mano
KingRider
36

Resolver este problema é fácil:

  1. Abra um prompt de comando com privilégios de administrador
    • Encontre "cmd", clique com o botão direito sobre ele e selecione "Administrador".
  2. No prompt, digite net stop W3SVCe Enter.

Agora você pode clicar em WAMPP e reiniciar todos os serviços. Abra seu navegador e navegue até "localhost".

Se você precisar iniciar o W3SVC novamente,

  1. Abra um prompt de comando com privilégios de administrador
  2. No prompt, digite net start W3SVCe Enter.
DIANGELISJ
fonte
Na versão lançada do Windows 10, recebo "Ocorreu um erro de sistema 3. Acesso negado."
Mike_Laird
Você precisa ser administrador. Tente novamente.
DIANGELISJ
Sim, obrigado DIANGELISJ. No Windows 10, clique com o botão direito do mouse em cmd e depois nas instruções acima, depois clique com o botão direito em httpd.exe e o Apache está funcionando novamente. A caixa httpd.exe é uma caixa preta em branco, mas o Apache funciona.
Mike_Laird de
Eu tive o mesmo problema no Windows 10 usando o XAMPP. Após cada reinicialização, eu teria que ir ao painel de controle do XAMPP e reinstalar e iniciar os serviços Apache e MySQL novamente. Executar o painel de controle do XAMPP como administrador parece ter curado isso, obrigado!
SharpC
esta é a resposta correta, tudo que você precisa fazer é desligar o IIS e, em seguida, iniciar o xampp. Painel de controle - Admin - Internet Information Services - "Stop" É isso aí. Fácil como uma torta. (mesma coisa que acima, apenas por meio de interfaces.)
Elaine Ossipov
17

Encontrei uma maneira de resolver este problema:

  1. Se você também estiver usando o Skype, desmarque o campo que informa para usar as portas 80 e 443 (Extra -> Configurações -> Avançado -> Conexões -> Desmarque as portas 80 e 443)
  2. Reinicie o Skype e o XAMPP.

Se isso não funcionar,

  1. Vá para Iniciar e digite "services.msc"
  2. Localize "Serviço de Publicação na World Wide Web"
  3. Clique com o botão direito nessa entrada, selecione "Parar" e reinicie o XAMPP.

Se isso não funcionar e o "Serviço de publicação na World Wide Web" não estiver disponível,

  1. Vá para o Painel de Controle, navegue até "Desinstalar Programas", depois "Ativar / desativar recursos do Windows"
  2. Localize "Serviços de Informações da Internet"
  3. Clique na caixa de seleção e clique em "OK".
  4. Reinicie e repita a segunda abordagem (services.msc)
Fazal
fonte
Obrigado, mas a resposta já foi respondida. Talvez possa ajudar alguém assim (:
Félix Desjardins
Sua resposta não poderia me ajudar, descobri minha própria solução. Obrigado de qualquer maneira :)
Fazal
1
Brilhante! Era apenas o Skype bloqueando o Apache! Minha parte favorita do processo: depois de desligar as portas 80 e 443 do Skype, tive que sair do Skype. Surgiu um aviso dizendo (parafraseado) "Se você sair do Skype, não poderá mais usá-lo." Bem, duh!
CJ Dennis
14

Você pode alterar a porta do Apache:

  1. Vá para C: \ xampp \ apache \ conf \ httpd.
  2. Encontre pela combinação Ctrl + F linha #Listen 12.34.56.78:80 e altere 80 para qualquer que desejar, por exemplo 81
  3. O mesmo com Listen 80 muda para 81
  4. O mesmo com ServerName localhost: 80 altere para 81.
  5. Vá para C: \ xampp \ apache \ conf \ extra \ httpd-vhosts e altere 80 para 81

NameVirtualHost *: 80 aqui

VirtualHost *: 80 e aqui (duas vezes)

  1. Reinicie o Apache

Para entrar em sua página da web, digite: http: // localhost: 81 / index.html

Experimentador
fonte
Vou recomendar este
Shuhratjan Nizamov
5
  1. Pressione Windows+ Re digite regedit.

  2. Vamos para

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    Altere o valor Startpara 4, o que significa desativado.

  3. Reinicie o computador.

Do Nhu Vy
fonte
1
A "atualização de novembro" do Windows 10 causou meu problema - tudo funcionou antes na versão anterior do Win 10. Eu não tinha W3svc ou Skype rodando. Esta solução resolveu o problema! Obrigado @Do Nhu Vy!
Jim M
5

Eu resolvi esse problema com o meu também, mas tive que mudar algumas coisas. Eu exijo que na minha máquina com Windows 10 eu mantenha meu ambiente de desenvolvimento C # e Visual Studio, então eu não queria mexer em nenhum serviço. Tudo que precisei fazer foi baixar a versão mais recente do XAMPP e alterar as portas de escuta para 80 e 443. Elas estavam localizadas em dois arquivos:

C:\xampp\apache\conf\httpd.conf

Listen 122
ServerName localhost:122

C:\xampp\apache\conf\extra\httpd-ssl.conf

Listen 444

Alterar a porta 80 para 122 e 443 para 444 me permitiu ter o Apache rodando e servindo páginas enquanto mantinha todo o resto igual para o meu desenvolvimento ASP.NET . Espero que isso ajude alguém lá fora. No final, isso é uma solução muito simples.

Direcione seu navegador para: http://localhost:122

Paul Carlton
fonte
Acho que essa é a maneira mais fácil e simples. Muito obrigado!
Diptangsu Goswami
+1 porque desligar o .NET Services definitivamente não é uma opção para mim. Claro que quero executar o IIS e o Apache ao mesmo tempo!
Alan
4

Tive o mesmo problema, mas as soluções anteriores nos levam a mudar a porta ao invés de obter a solução exata. Eu pesquisei sobre as portas de protocolos HTTP e HTTPS simples e encontrei.

Se outro aplicativo já estiver em execução, as portas HTTP ou HTTPS na máquina local, obteremos esse problema obviamente apenas por causa dessas portas já em uso e em um estado ocupado .

É por isso que depois de mudar o número da porta ele estava funcionando. Mas em vez de alterar a porta no servidor XAMPP, usei os seguintes métodos e funciona para mim.

Aqui está a etapa a seguir que executei durante essa correção.

  1. Erro que obtive no aplicativo do servidor XAMPP.

    Erro do servidor XAMPP

  2. No canto superior, há um botão chamado Netstat . É muito útil para pesquisar as portas em execução no sistema.

    Botão Netstat

  3. Este é o aplicativo Netstat onde encontrei um aplicativo já em execução e usando o número de porta 443. No meu caso, era vmware-hostd.exe . Seu aplicativo pode ser diferente. Tente pesquisar a porta 80 (HTTP) ou a porta 443 (HTTPS).

    Aplicativo Netstat aberto

  4. Acabei de abrir o Gerenciador de Tarefas do Windows , selecionei esse aplicativo vmware-hostd.exe e eliminei o processo usando o botão Finalizar Processo . Eliminei o processo que usava a porta 443. E esse aplicativo não era necessário no momento.

    Abra o gerenciador de tarefas e elimine esse aplicativo

  5. Depois de encerrar o aplicativo no Gerenciador de Tarefas do Windows, o Apache está disponível no momento. Aqui está a prova.

    Apache trabalhando


NOTA: * Se você encontrou algum tipo de aplicativo que é usado, as portas HTTP ou HTTPS significam a porta 80 ou a porta 443 e o aplicativo não é importante ou não é vital, então apenas elimine o processo desse aplicativo.

Caso contrário, não há necessidade de seguir essas etapas. Em seguida, você precisa considerar a alteração da porta de seu aplicativo XAMPP conforme declarado nas respostas anteriores. *

Dipak Bari
fonte
4

Tentei tudo listado nas respostas aqui, mas nenhum deles funcionou.

Em seguida, tudo que fiz foi reiniciar o XAMPP com direitos de administrador:

Menu Iniciar - clique com o botão direito em XAMPP - selecione executar como administartor

Funcionou. É simples assim.

Desinstalei os serviços IIS, parei os serviços WWW, mudei as portas de volta para 80, bloqueei todas as conexões apache e mysql do firewall do Windows 10, mas ainda funciona!

Tarik
fonte
2

Depois de brincar, realmente tudo que você precisa fazer é alterar duas linhas no arquivo httpd.conf :

Altere "Listen 80" para "Listen 122" (ou qualquer outra coisa que você queira)

e

"ServerName Localhost: 80" para "Localhost: 122" (ou a porta que você alterou acima)

Então, tudo deve disparar: P

Msquared86
fonte
2

Parece que existem muitas opções. A resposta depende de sua instalação do Windows. Esta é minha experiência ao ter o mesmo problema em uma nova instalação do Windows 10 e corrigir o problema com a seguinte etapa:

  1. Instale Visual C ++ Redistributable
  2. Abra o XAMPP e selecione configurar no serviço Apache
  3. Mude a porta 80 para 9000 ou 81 ou o que quiser no arquivo httpd.conf na linhaListen 80
  4. Mude a porta em httpd-ssl.conf e mude Listen 443paraListen 441
  5. Reinicie o XAMPP e inicie o serviço Apache. Funciona para mim.

Observação : estou usando o XAMPP versão 5.6.15 e o XAMPP Control Panel versão 3.2.2.

Gujarat Santana
fonte
2
Boa captura - certifique-se de que as portas http e https não estejam em conflito
Aaron Hudon,
1
  • Vá para o menu iniciar e digite Ativar ou desativar recursos do Windows
  • Desmarque Internet Information Services
  • pressione OK
Clicia Scarlet
fonte
1

No meu caso foi um simples caso de remoção do IIS porque o Windows 10 vem com IIS (Internet Information Service) pré-instalado - isso entra em conflito com o XAMPP porque esses dois servidores tentam usar a porta 80. Se você não quiser usar o IIS e continue usando o XAMPP

  1. Vá para executar / pesquisar no Windows 10
  2. Pesquise por 'recursos opcionais'
  3. Nessa lista, desmarque Internet Information Service (IIS)

Então reinicie .

Almaruf
fonte
1

Descobri que executar apache_start em me deu o erro exato e em qual linha ele estava.

Meu erro foi que deixei um espaço entre localhost: e a porta.

Aaron Rabinowitz
fonte
O que é "executar apache_start em"? Por exemplo, está faltando uma palavra?
Peter Mortensen
Copiar e colar funciona melhor do que digitar (a menos, é claro, que o GNOME seja usado - evite o GNOME a todo custo).
Peter Mortensen
1

O serviço de publicação na World Wide Web não foi o único responsável no meu caso.

Eu tenho o IIS instalado, então tive que interromper todo o serviço HTTP.

Estes são os comandos que executei no CMD (como administrador):

net stop W3SVC
net stop http
Ceparu Stefan
fonte
1

Se você instalou o SQL Server , alguns de seus serviços podem bloquear a porta de que o XAMPP precisa. Resolvi meu problema desabilitando o SQL Server Reporting Services e agora o Apache inicia sem problemas.

Basta abrir services.msc, rolar para baixo e localizar o SQL Server Reporting Services . Clique com o botão direito e clique Stop.

Peyman.H
fonte
0

Na verdade, por padrão, o IIS (Microsoft, .NET, etc.) é instalado.

  • Vá para o Painel de Controle
  • Liga ou desliga características das janelas...
  • Em (IIS) Internet Information Services, desmarque os serviços da world wide web (WWWS).
  • Clique OK.

Esta pode ser uma solução permanente. :)

Xyren Poh
fonte
0

Esse conselho foi ótimo. Eu tive o mesmo problema, mas minha solução foi diferente, porque eu fui tão estúpido que renomeei o diretório onde o XAMPP estava localizado e como eu tinha instalado muitos outros programas, não consegui renomeá-lo.

No meu caso havia o diretório original C: \ Programs \ Xampp e renomeei para C: \ PROGRAMS_ \ Xampp e esse foi o erro.

A solução foi encontrar todas as referências em C: \ Programs e renomeá-las C: \ PROGRAMS_ no diretório XAMPP, pois por algum motivo durante a instalação ele grava caminhos absolutos, não relativos. Claro, existem algumas referências no registro também.

Mayk
fonte
Este parece ser um caso muito específico e não parece corresponder ao cenário da questão.
Dakab
Sim, eu concordo, mas acho que pode ajudar alguém, porque eu estava enfrentando a mesma situação (tive vento fresco 10) e o erro era o mesmo, então talvez este não seja exatamente o mesmo cenário, ai acho que alguém poderia achar isso útil .
Mayk
0

É simplesmente uma questão de disponibilizar a porta 80 para seu serviço Apache. A maneira como resolvi o problema foi:

  1. No Windows 10, clique com o botão direito do mouse no botão Iniciar e selecione Executar
  2. Digite services.msc e clique emOK
  3. Encontre e clique com o botão direito do mouse em Serviço de publicação na web
  4. Selecione Propriedades
  5. Altere o valor do tipo de inicialização para automático (início atrasado)
  6. Reinicie seu computador.

Aí está. Tudo voltou ao normal.

Rancantemos
fonte
0

Isso foi simples para mim!

Tente executar o Painel de controle do XAMPP como administrador.

Ahmad Jahanbin
fonte
0

Eu tentei todas as soluções acima. Mas não estava funcionando de forma alguma.

Finalmente, acabei de desinstalar o XAMPP e instalá-lo novamente . Então funcionou para mim.

Agora posso executar o servidor em qualquer porta (incluindo 80).

Sathish
fonte
0

Passos:

  • Abra o painel de controle XAMMP
  • Abra o Apache Config e selecione o arquivo de configuração Apache - xammp-
  • Procure por "Porta 443" e, em seguida, altere para alguma outra porta, digamos 4433
  • Então reinicie.
C Williams
fonte
obrigado, @Peter Mortensen por editar minha resposta :)
C Williams em
0

Verifique se a instalação do PHP funciona.

Verifique qual arquivo php.ini você está executando na configuração do Apache e use-o para executar php.exe ...

Rubber Telly Media
fonte
0

Você pode apenas ter atualizado seu Windows para a versão 1903 (OS Build: 18362.239) ou ter alterado as senhas do usuário. Apesar de ter eliminado todos os conflitos de portas , ainda recebo as mensagens descritas pelo OP logo no início deste post.

No final, resolvi isso atualizando para o XAMPP para 7.3.7. (Quando forçado a reinstalar, você também pode atualizar ao mesmo tempo!)

Mas o problema voltou a ocorrer quando fui novamente alterar a senha do usuário 'root'.

As mensagens de erro do console estavam mascarando o fato de que a tabela mysql.user estava corrompida.

Verifique o arquivo mysql_error.log . Se você estiver vendo um erro fatal: Não é possível abrir e bloquear as tabelas de privilégios: o índice da tabela 'usuário' está corrompido; tente consertá-lo , então dê uma olhada nisso .

Mau perdedor
fonte
0

Eu tive o mesmo problema e resolvi desinstalando o servidor WAMP .

Mikami
fonte