XAMPP : Apache를 시작할 수 없음 (Windows 10)


89

XAMPP를 사용하고 있고 Apache를 시작할 수 있지만 MySQL ( phpMyAdmin ) 시작!

시작할 때이 오류가 발생합니다.

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

나는 그것을 검색하고 Config-> Service and Port 설정에서 Apache의 포트를 변경합니다. 나는 가지고있다;

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

Skype (Windows 8 / 10 / Metro 버전)도 제거합니다. 아무것도 작동하지 않습니다. 년 을 httpd.conf 파일 내가 가진;

Listen 122
ServerName localhost:122

나는 그것을 통해 시작 apache_start.bat하고 얻는다;

(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

모든 로그 파일이 존재하지 않습니다! Skype가 제거되었습니다.


포트가 차단되었는지 확인 했습니까?
Rizier123

1
뿐만 아니라 관리자 권한으로 실행 해보십시오
nonamorando

3
Apache를 활성화하려고 할 때 Skype를 실행하고 있습니까? 그렇다면 스카이프 설정을 변경하십시오.
iSaumya

3
당신은 localhost:80포트를 가지고 들을 수 없습니다 122. 수신 할 포트를 선택하십시오.
Lorenz Meyer

좋아, 나는 약간 수정했다 : @ Rizier123-> 나는 확인했지만 그것이 좋은 방법인지 확실하지 않습니다. @ Will-Campbell-> 예,하지만 더 이상은 없습니다. @iSaumya-> Skype가 내 컴퓨터에 없습니다. @ Lorenz-Meyer-> 나는 지금 Listen 122있고ServerName localhost:122
Félix Desjardins

답변:


223

업데이트 : 2018 년 5 월 15 일 :

최신 Windows 10 업데이트 (재)는 World Wide Web 게시 서비스 (독일어 : WWW-Publishingdienst )를 활성화했습니다 . 이는 나중에 수행 할 수있는 업데이트 구성 중에 선택한 옵션에 따라 달라질 수 있습니다.

업데이트 : 2015 년 8 월 4 일 :

Windows 10을 새로 설치 한 경우 Word Wide Web 게시 서비스 가 없을 수 있습니다 . 이 경우 간단한 WAMP / XAMPP 설치가 정상적으로 작동합니다.

그렇지 않은 경우 Visual C ++ 재배포 가능 패키지를 설치 한 다음 WAMP / XAMPP를 다시 설치하십시오.


WAMP에서 비슷한 문제에 직면했습니다. Windows 10 TP에는 Word Wide Web 게시 서비스 가 미리 설치되어 있습니다. 이것은 IIS와 관련이 있으며 필요하지 않은 경우 제거 할 수 있습니다.

이로 인해 포트가 차단 80되어 Apache가 이상하게 작동합니다. 다음을 수행하고 다시 시도 할 수 있습니다.

  • 시작으로 이동하여 services.msc를 입력하십시오.
  • 서비스 창에서 아래로 스크롤하여 World Wide Web 게시 서비스 를 찾습니다 .
  • 마우스 오른쪽 버튼으로 클릭하고 중지를 선택 합니다.

이렇게하면 포트 80이 비워지고 WAMP / XAMPP를 다시 시작하면 시작 및 실행됩니다!

이 문제를 해결하는 다른 방법이 있습니다. Windows 10에서 WAMP 작동하기를 참조하십시오 .


7
서비스 목록에 "World Wide Web Publishing Service"가 없으면 어떻게합니까?
Xtremefaith

6
이름 서비스의는 W3SVC 그동안 설명 입니다 World Wide Web 게시 서비스 . 이름별로 정렬 할 때 설명 된 서비스가 표시되지 않았기 때문에 처음에는 서비스가 없다고 생각했습니다.
Jake Z

1
네,이 문제도있었습니다. 확인했을 때 "PID가 4 인 프로세스가 포트 80을 사용하고 있습니다"라는 메시지가 계속 표시되었습니다. 프로세스 이름은 "System"이었습니다. 이 프로세스를 중지하려고하면 PC가 엉망이 될 수 있다고 계속 생각했습니다. 그러나 이것은 완벽하게 작동했습니다. 감사합니다
Kebab 프로그래머

1
Uniform server Z (굉장합니다!)를 사용하는 사람들을 위해이 서버에서도 작동하는지 확인할 수 있습니다.
MisterM

1
@PraveenPuglia hum .. interessant 코멘트, 저에게 일하십시오! 내가 삭제 파일을보십시오 "Ntoskrnl.exe가"원인 포트 4 ... 많은 구글 검색 말 바이러스 ... 정류장 좋은 서비스입니다 작업 롤 ... 덕분에 형제입니다
KingRider

37

이 문제를 해결하는 것은 쉽습니다.

  1. 관리자 권한으로 명령 프롬프트 열기
    • "cmd"를 찾아 마우스 오른쪽 단추로 클릭 한 다음 "관리자"를 선택하십시오.
  2. 프롬프트에서 입력 net stop W3SVC하고 Enter를 누르십시오.

이제 WAMPP를 클릭하고 모든 서비스를 다시 시작할 수 있습니다. 브라우저를 열고 "localhost"로 이동하십시오.

W3SVC를 다시 시작해야하는 경우

  1. 관리자 권한으로 명령 프롬프트 열기
  2. 프롬프트에서 입력 net start W3SVC하고 Enter를 누르십시오.

Windows 10 출시 버전에서 "시스템 오류 3이 발생했습니다. 액세스가 거부되었습니다."라는 메시지가 표시됩니다.
Mike_Laird 2015-08-06

관리자가 필요합니다. 다시 시도하십시오.
DIANGELISJ

네, DIANGELISJ 감사합니다. Windows 10에서 cmd를 마우스 오른쪽 버튼으로 클릭 한 다음 위의 지침을 클릭 한 다음 httpd.exe를 마우스 오른쪽 버튼으로 클릭하면 Apache가 다시 작동합니다. httpd.exe 상자는 검은 색 공백이지만 Apache는 작동합니다.
Mike_Laird

XAMPP를 사용하여 Windows 10에서 동일한 문제가 발생했습니다. 다시 시작할 때마다 XAMPP 제어판으로 이동하여 Apache 및 MySQL 서비스를 다시 설치하고 시작해야합니다. 관리자 권한으로 XAMPP 제어판을 실행하면 문제가 해결 된 것 같습니다. 감사합니다!
SharpC 2015 년

이것이 정답입니다. IIS를 종료 한 다음 xampp를 시작하기 만하면됩니다. 제어판-관리자-인터넷 정보 서비스- "중지"그게 전부입니다. 파이처럼 쉽습니다. (단지 인터페이스를 통해 상기와 같은 것을.)
일레인 Ossipov

17

이 문제를 해결하는 방법을 찾았습니다.

  1. Skype도 사용하는 경우 포트 80 및 443을 사용하도록 표시된 필드의 선택을 취소하십시오 (추가-> 설정-> 고급-> 연결-> 포트 80 및 443 선택 취소).
  2. Skype 및 XAMPP를 다시 시작하십시오.

이것이 작동하지 않으면

  1. 시작으로 이동하여 "services.msc"를 입력합니다.
  2. "World Wide Web 게시 서비스"를 찾습니다.
  3. 해당 항목을 마우스 오른쪽 버튼으로 클릭하고 "중지"를 선택한 다음 XAMPP를 다시 시작하십시오.

작동하지 않고 "World Wide Web 게시 서비스"를 사용할 수없는 경우

  1. 제어판으로 이동하여 "프로그램 제거", "Windows 기능 켜기 / 끄기"로 이동하십시오.
  2. "인터넷 정보 서비스"를 찾습니다.
  3. 확인란을 클릭하고 "확인"을 누르십시오.
  4. 다시 시작한 다음 두 번째 방법 (services.msc)을 반복합니다.

감사합니다. 답변은 이미 답변되어 있습니다. 아마 누군가 ESE를 (도움이 될 수 :
펠릭스 Desjardins에

당신의 대답은 나를 도울 수 없었습니다. 나는 내 자신의 해결책을 찾았습니다. 어쨌든 고맙습니다 :)
파잘

1
훌륭한! 아파치를 차단하는 Skype뿐이었습니다! 프로세스 중 가장 좋아하는 부분은 Skype의 포트 80 및 443을 끈 후 Skype를 종료해야한다는 것입니다. "Skype를 종료하면 사용할 수 없습니다."라는 경고가 표시되었습니다. 음, 이런!
CJ Dennis

14

Apache의 포트를 변경할 수 있습니다.

  1. C : \ xampp \ apache \ conf \ httpd로 이동합니다.
  2. Ctrl + F 줄 #Listen 12.34.56.78:80 조합으로 찾고 80을 원하는대로 변경합니다 (예 : 81).
  3. Listen 80과 동일하게 81로 변경
  4. ServerName localhost : 80과 동일하게 81로 변경합니다.
  5. C : \ xampp \ apache \ conf \ extra \ httpd-vhosts로 이동하여 80을 81로 변경합니다.

NameVirtualHost * : 80 여기

VirtualHost * : 80 및 여기 (2 회)

  1. Apache 다시 시작

웹 페이지를 입력하려면 http : // localhost : 81 / index.html을 입력하십시오.


나는이 한 권 해드립니다합니다
Shuhratjan Nizamov

5
  1. Windows+를 누르고를 R입력 regedit합니다.

  2. 이동

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
    

    Start을 4로 변경하면 비활성화됩니다.

  3. 컴퓨터를 재부팅하십시오.


1
Windows 10 "11 월 업그레이드"로 인해 문제가 발생했습니다. 모두 이전 버전의 Win 10에서 작동했습니다. W3svc 나 Skype를 실행하지 않았습니다. 솔루션이 트릭을 수행했습니다! 감사합니다 @Do Nhu Vy!
Jim M

5

저도이 문제를 해결했지만 몇 가지를 변경해야했습니다. Windows 10 컴퓨터에서 C # 및 Visual Studio 개발 환경을 유지해야하므로 어떤 서비스도 수정하고 싶지 않았습니다. 내가해야 할 일은 최신 버전의 XAMPP를 다운로드하고 80과 443에 대한 청취 포트를 변경하는 것뿐이었습니다. 두 파일에 있습니다.

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

Listen 122
ServerName localhost:122

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

Listen 444

위의 포트를 80에서 122로, 443에서 444로 변경하면 ASP.NET 개발을 위해 다른 모든 것을 동일하게 유지하면서 Apache를 실행하고 페이지를 제공 할 수있었습니다 . 바라건대 이것은 누군가를 도울 것입니다. 결국 이것은 매우 간단한 수정입니다.

브라우저를 다음으로 지정하십시오. http://localhost:122


이것이 가장 쉽고 간단한 방법이라고 생각합니다. 정말 고맙습니다!
Diptangsu Goswami

.NET 서비스를 종료하는 것은 당연한 선택이 아니기 때문입니다. 물론 IIS와 Apache를 동시에 실행하고 싶습니다!
Alan

4

나는 같은 문제가 있지만 이전 솔루션은 정확한 솔루션을 얻는 대신 포트를 변경하도록 유도합니다. 간단한 HTTP 및 HTTPS 프로토콜의 포트를 검색하여 찾았습니다.

다른 응용 프로그램이 이미 실행중인 경우 로컬 컴퓨터의 HTTP 또는 HTTPS 포트는 해당 포트가 이미 사용 중이고 사용 중 상태이기 때문에 분명히이 문제가 발생 합니다.

이것이 포트 번호를 변경 한 후 작동하는 이유입니다. 그러나 XAMPP 서버에서 포트를 변경하는 대신 다음 방법을 사용했으며 저에게 효과적입니다.

이 문제를 해결하는 동안 수행 한 다음 단계는 다음과 같습니다.

  1. XAMPP 서버 애플리케이션에서 발생한 오류입니다.

    XAMPP 서버 오류

  2. 상단 모서리에는 Netstat 라는 버튼이 있습니다. 시스템에서 실행중인 포트를 찾는 데 매우 유용합니다.

    Netstat 버튼

  3. 이것은 이미 실행 중이고 포트 번호 443을 사용하는 애플리케이션이있는 Netstat 애플리케이션입니다. 제 경우에는 vmware-hostd.exe였습니다 . 다른 응용 프로그램 일 수 있습니다. 포트 80 (HTTP) 또는 포트 443 (HTTPS)을 검색해보십시오.

    Netstat 애플리케이션이 열림

  4. 방금 Windows 작업 관리자를 열고 해당 응용 프로그램 vmware-hostd.exe를 선택한 다음 프로세스 종료 버튼 을 사용하여 프로세스를 종료했습니다 . 443 번 포트를 사용하던 프로세스를 종료했습니다.이 애플리케이션은 현재 필요하지 않았습니다.

    작업 관리자를 열고 해당 응용 프로그램을 종료하십시오.

  5. Windows 작업 관리자에서 응용 프로그램을 종료 한 후 이제 Apache를 사용할 수 있습니다. 여기에 증거가 있습니다.

    Apache 작동


참고 : * HTTP 또는 HTTPS 포트는 포트 80 또는 포트 443을 의미 하고 응용 프로그램이 중요하지 않거나 중요하지 않은 응용 프로그램을 찾은 경우 해당 응용 프로그램의 프로세스 만 종료하십시오.

그렇지 않으면 다음 단계를 따를 필요가 없습니다. 그런 다음 이전 답변에 명시된대로 XAMPP 애플리케이션의 포트를 변경하는 것을 고려해야합니다. *


4

나는 여기에 나열된 모든 것을 시도했지만 아무도 작동하지 않았습니다.

그런 다음 내가 한 것은 다음과 같이 관리자 권한으로 XAMPP를 다시 시작하는 것입니다.

시작 메뉴-XAMPP를 마우스 오른쪽 버튼으로 클릭-관리자 권한으로 실행을 선택합니다.

효과가있었습니다. 그렇게 간단합니다.

IIS 서비스를 제거하고 WWW 서비스를 중지하고 포트를 다시 80으로 변경하고 Windows 10 방화벽에서 모든 Apache 및 mysql 연결을 차단했지만 그래도 작동합니다!


2

놀아 본 후에는 httpd.conf 파일 에서 두 줄만 변경하면 됩니다.

변경 "(80)를 들어""(122)을 들어" (또는 다른 당신이 원하는 무엇이든)

"ServerName Localhost : 80" - "Localhost : 122" (또는 위에서 변경 한 포트)

그런 다음 모든 것이 바로 시작됩니다.


2

많은 옵션이있는 것 같습니다. 대답은 Windows 설치에 따라 다릅니다. 다음은 Windows 10 새로 설치에서 동일한 문제가 발생했을 때의 경험이며 다음 단계로 문제를 해결합니다.

  1. Visual C ++ 재배포 가능 패키지 설치
  2. XAMPP를 열고 Apache 서비스에서 구성을 선택하십시오.
  3. 포트 80을 9000 또는 81 또는 줄의 httpd.conf 파일에서 원하는대로 변경하십시오.Listen 80
  4. httpd-ssl.conf에서 포트를 변경하고 변경하십시오. Listen 443 하는Listen 441
  5. XAMPP를 다시 시작하고 Apache 서비스를 시작하십시오. 그것은 나를 위해 작동합니다.

참고 : 저는 XAMPP 버전 5.6.15 및 XAMPP 제어판 버전 3.2.2를 사용하고 있습니다.


2
좋은 캐치 -는 HTTP 및 HTTPS 포트가 충돌하지 않습니다 확인
아론 Hudon

1
  • 시작 메뉴로 이동하여 Windows 기능 켜기 또는 끄기를 입력합니다.
  • 인터넷 정보 서비스 선택 취소
  • 프레스 OK

1

제 경우에는 Windows 10에 IIS (인터넷 정보 서비스)가 미리 설치되어 있기 때문에 IIS를 제거하는 간단한 경우였습니다. 두 서버 모두 포트 80을 사용하려고하기 때문에 XAMPP와 충돌합니다. IIS를 사용하지 않으려면 XAMPP 계속 사용

  1. Windows 10에서 실행 / 검색으로 이동
  2. '선택적 기능'검색
  3. 그 목록에서 인터넷 정보 서비스 (IIS)를 선택 해제 하십시오.

그런 다음 다시 시작 합니다.


1

apache_start를 실행하면 정확한 오류와 어떤 줄에 있는지 알 수 있습니다.

내 오류는 localhost : 와 포트 사이에 공백을 남겼다는 것 입니다.


"apache_start in 실행"이란 무엇입니까? 예를 들어, 단어가 누락 되었습니까?
Peter Mortensen

복사-붙여 넣기는 입력하는 것보다 더 잘 작동합니다 (물론 그놈이 사용 되지 않는 한 - 그놈 을 피하십시오 ).
Peter Mortensen

1

제 경우에는 World Wide Web Publishing 서비스가 유일한 책임이 아닙니다.

IIS가 설치되어 있으므로 전체 HTTP 서비스를 중지해야했습니다.

다음은 CMD에서 관리자로 실행 한 명령입니다.

net stop W3SVC
net stop http

1

SQL Server를 설치 한 경우 일부 서비스가 XAMPP에 필요한 포트를 차단할 수 있습니다. SQL Server Reporting Services를 비활성화하여 문제를 해결했습니다. 했으며 이제 Apache가 문제없이 시작됩니다.

을 열고 services.msc아래로 스크롤하여 SQL Server Reporting Services를 찾으십시오 . 그것을 마우스 오른쪽 버튼으로 클릭하고을 클릭하십시오 Stop.


0

실제로 기본적으로 IIS (Microsoft, .NET 등)가 설치됩니다.

  • 제어판으로 이동
  • Windows 기능 켜기 또는 끄기 ...
  • (IIS) 인터넷 정보 서비스에서 (WWWS) 월드 와이드 웹 서비스를 선택 취소합니다.
  • 확인을 클릭하십시오.

이것은 영구적 인 해결책이 될 수 있습니다. :)


0

이 조언은 훌륭했습니다. 나는 똑같은 문제가 있었지만 내 솔루션이 달랐습니다. 너무 멍청해서 XAMPP가있는 디렉토리의 이름을 바꾸었고 다른 프로그램을 많이 설치했기 때문에 이름을 다시 바꿀 수 없었습니다.

제 경우에는 원래 디렉토리 C : \ Programs \ Xampp가 있었고 이름을 C : \ PROGRAMS_ \ Xampp 로 변경했는데 그게 실수였습니다.

해결책은 C : \ Programs 에서 모든 참조를 찾아 XAMPP 디렉토리에서 C : \ PROGRAMS_ 로 이름을 바꾸는 것이 었습니다 . 설치 중에 어떤 이유로 든 상대 경로가 아닌 절대 경로를 작성하기 때문입니다. 물론 레지스트리에도 몇 가지 참조가 있습니다.


이것은 매우 특정한 경우로 보이며 질문의 시나리오와 일치하지 않는 것 같습니다.
dakab

예, 동의합니다.하지만 누군가에게 도움이 될 것 같습니다. 왜냐하면 동일한 상황 (신선한 windodw 10을 가짐)에 직면했고 오류가 동일했기 때문에 이것은 정확히 동일한 시나리오가 아닐 수도 있습니다. 누군가 colud가 도움이된다고 생각합니다. .
Mayk 2015

0

아파치 서비스에 포트 80을 사용하기 만하면됩니다. 문제를 해결 한 방법은 다음과 같습니다.

  1. Windows 10에서는 시작 버튼을 마우스 오른쪽 버튼으로 클릭하고 실행을
  2. 입력 services.msc를 클릭OK
  3. World Wide Web 게시 서비스를 찾아 오른쪽 클릭
  4. 속성 선택
  5. 변경 시작 유형 값을 자동 (지연된 시작)으로
  6. 컴퓨터를 다시 시작하십시오.

거기에 있습니다. 모든 것이 정상으로 돌아 왔습니다.



0

위의 모든 솔루션을 시도했습니다. 그러나 그것은 어떤 식 으로든 작동하지 않았습니다.

마지막으로 XAMPP를 제거 하고 다시 설치했습니다 . 그런 다음 그것은 나를 위해 일했습니다.

이제 모든 포트 (80 포함) 에서 서버실행할 수 있습니다.


0

단계 :

  • XAMMP 제어판 열기
  • Apache Config를 열고 Apache-xammp- 구성 파일을 선택합니다.
  • "Port 443"을 검색 한 다음 다른 포트로 변경합니다 (예 : 4433).
  • 그런 다음 다시 시작하십시오.

감사합니다, @ 피터 모텐슨 내 대답 : 편집
C 윌리엄스

0

PHP 설치가 작동하는지 확인하십시오.

Apache의 구성에서 실행중인 php.ini 파일을 확인 하고이를 사용하여 php.exe를 실행하십시오.


0

Windows를 버전 1903 (OS 빌드 : 18362.239)으로 업데이트 했거나 사용자 암호를 변경했을 수 있습니다. 모든 포트 충돌을 제거 했음에도 불구 하고이 게시물의 맨 처음에 OP가 설명하는 메시지를 계속 받았습니다.

결국 나는 XAMPP를 7.3.7로 업그레이드하여 치료했습니다. (강제로 다시 설치하면 동시에 업그레이드하는 것이 좋습니다!)

그러나 '루트'사용자 암호를 다시 변경하면 문제가 다시 발생했습니다.

콘솔 오류 메시지는 mysql.user 테이블 이 손상 되었다는 사실을 가리고 있었습니다.

mysql_error.log 파일을 확인하십시오 . 당신이보고있는 경우 열 수 및 잠금하지 권한 테이블 : 치명적인 오류 색인 테이블 '사용자'에 대한 손상; 그것을 복구를 시도 할 다음 번 봐 가지고, .



0

여기에 이미지 설명 입력

다음과 같은 방법으로 시스템에서 사용할 수있는 포트 번호를 변경합니다.

1. 먼저 Apache“httpd.conf”파일을 엽니 다.

#Listen 12.34.56.78:80
Listen 80
ServerName localhost:80

...에

#Listen 12.34.56.78:8080
Listen 8080
ServerName localhost:8080

2. httpd-ssl.conf를 엽니 다.

Listen 443
<VirtualHost _default_:443>

...에

Listen 441
<VirtualHost _default_:441>

3. 트릭을 따르십시오. 이제 Apache를 "시작"하고 모든 것이 잘되면 Apache 서버가 시작됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.