XAMPP: Tidak dapat memulai Apache (Windows 10)

90

Saya menggunakan XAMPP, dan saya dapat menjalankan Apache, tetapi MySQL ( phpMyAdmin ) mulai!

Ketika saya mulai, saya mendapatkan kesalahan ini;

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

Saya mencarinya, dan, mengubah port Apache di Config -> Service and Port setting. Saya sudah;

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

Saya juga menghapus penginstalan Skype (versi Windows 8/10 / Metro). Tidak ada yang berhasil. Di file httpd.conf yang saya miliki;

Listen 122
ServerName localhost:122

Saya memulainya melalui apache_start.batdan mendapatkan;

(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

Harap dicatat bahwa semua file log tidak ada! Skype dihapus.

Félix Desjardins
sumber
Apakah Anda sudah memeriksa apakah port diblokir?
Rizier123
1
Coba jalankan sebagai administrator juga
nonamorando
3
Apakah Anda menjalankan skype saat mencoba mengaktifkan apache? Jika demikian ubah pengaturan skype.
iSaumya
3
Anda tidak dapat memiliki localhost:80dan mendengarkan port 122. Pilih port mana yang ingin Anda dengarkan.
Lorenz Meyer
Ok, saya melakukan beberapa modifikasi: @ Rizier123 -> Saya sudah memeriksa tetapi saya tidak yakin apakah ini cara yang baik. @ Will-Campbell -> Ya, tapi tidak lebih. @iSaumya -> Skype tidak ada di komputer saya. @ Lorenz-Meyer -> Saya punya sekarang Listen 122danServerName localhost:122
Félix Desjardins

Jawaban:

224

Pembaruan: 15 Mei 2018:

Pembaruan Windows 10 terbaru (kembali) mengaktifkan Layanan Penerbitan World Wide Web (dalam bahasa Jerman: WWW-Publishingdienst ). Ini mungkin tergantung pada opsi yang Anda pilih selama konfigurasi pembaruan yang dapat Anda buat sesudahnya.

Pembaruan: 4 Agustus 2015:

Jika Anda telah melakukan penginstalan bersih Windows 10, Anda mungkin tidak memiliki Layanan Penerbitan Word Wide Web . Dalam hal ini, instalasi WAMP / XAMPP sederhana seharusnya berfungsi dengan baik.

Jika tidak, coba instal Visual C ++ Redistributable lalu instal ulang WAMP / XAMPP.


Saya menghadapi masalah serupa dengan WAMP. Di Windows 10 TP, Layanan Penerbitan Word Wide Web telah diinstal sebelumnya. Ini terkait dengan IIS dan Anda dapat menghapusnya jika tidak membutuhkannya.

Ini memblokir port 80, membuat Apache bertingkah aneh. Anda dapat melakukan hal berikut dan mencoba lagi.

  • Pergi ke Mulai, ketik services.msc
  • Gulir ke bawah di jendela Layanan untuk menemukan Layanan Penerbitan World Wide Web .
  • Klik kanan padanya dan pilih Berhenti .

Ini seharusnya membuat port 80 gratis dan memulai ulang WAMP / XAMPP akan membuat Anda aktif dan berjalan!

Ada cara lain untuk memperbaikinya. Lihat Membuat WAMP Bekerja di Windows 10 .

Praveen Puglia
sumber
7
Bagaimana jika saya tidak memiliki "Layanan Penerbitan World Wide Web" sebagai layanan yang terdaftar?
Xtremefaith
6
The nama dari layanan ini W3SVC sedangkan deskripsi adalah World Wide Web Publishing Service . Saya awalnya tidak berpikir saya memiliki layanan karena saya tidak melihat layanan dijelaskan saat mengurutkan berdasarkan nama.
Jake Z
1
Ya, saya juga mengalami masalah ini, terus mengatakan kepada saya "Sebuah proses dengan PID 4 menggunakan port 80" ketika saya memeriksanya, nama prosesnya adalah "Sistem". Saya terus berpikir saya bisa mengacaukan PC saya jika saya mencoba menghentikan proses ini. Tapi ini bekerja dengan sempurna. Terima kasih
Kebab Programmer
1
Bagi mereka yang berada di luar sana menggunakan Uniform server Z (yang hebat!), Saya dapat mengonfirmasi bahwa ini juga berfungsi untuk server itu.
MisterM
1
@PraveenPuglia hum .. komentar interessant, bekerja untukku! saya mencoba menghapus file "ntoskrnl.exe" adalah penyebab port 4 ... banyak pencarian google mengatakan virus ... layanan yang bagus untuk berhenti bekerja lol .. terima kasih bro
KingRider
37

Mengatasi masalah ini mudah:

  1. Buka prompt perintah dengan hak administrator
    • Temukan "cmd", klik kanan padanya, lalu pilih "Administrator".
  2. Di prompt, ketik net stop W3SVCdan Enter.

Sekarang Anda dapat mengklik WAMPP dan memulai ulang semua layanan. Buka browser Anda dan arahkan ke "localhost".

Jika Anda perlu menjalankan W3SVC lagi,

  1. Buka prompt perintah dengan hak administrator
  2. Di prompt, ketik net start W3SVCdan Enter.
DIANGELISJ
sumber
Pada versi rilis Windows 10, saya mendapatkan "Kesalahan sistem 3 telah terjadi. Akses ditolak."
Mike_Laird
Anda perlu menjadi administrator. Coba lagi.
DIANGELISJ
Ya, terima kasih DIANGELISJ. Di Windows 10, klik kanan pada cmd dan kemudian instruksi Anda di atas, lalu klik kanan pada httpd.exe dan saya membuat Apache berfungsi kembali. Kotak httpd.exe kosong, tetapi Apache berfungsi.
Mike_Laird
Saya memiliki masalah yang sama di Windows 10 menggunakan XAMPP. Setelah setiap restart saya harus pergi ke panel kontrol XAMPP dan menginstal ulang dan memulai layanan Apache dan MySQL lagi. Menjalankan panel kontrol XAMPP sebagai administrator tampaknya telah menyembuhkannya, terima kasih!
SharpC
ini adalah jawaban yang benar, yang perlu Anda lakukan adalah menutup IIS, dan kemudian memulai xampp. Control-Panel - Admin - Layanan Informasi Internet - "Stop" Itu saja. Semudah pie. (Hal yang sama seperti di atas, hanya melalui antarmuka.)
Elaine Ossipov
17

Saya menemukan cara untuk mengatasi masalah ini:

  1. Jika Anda juga menggunakan Skype, hapus centang pada bidang yang menyatakan menggunakan port 80 dan 443 (Ekstra -> Pengaturan -> Lanjutan -> Koneksi -> Hapus centang Port 80 dan 443)
  2. Mulai ulang Skype dan XAMPP.

Jika ini tidak berhasil,

  1. Buka Mulai dan ketik "services.msc"
  2. Temukan "Layanan Penerbitan World Wide Web"
  3. Klik kanan pada entri itu, pilih "Stop", lalu restart XAMPP.

Jika tidak berhasil dan "Layanan Penerbitan World Wide Web" tidak tersedia,

  1. Buka Control Panel, arahkan ke "Uninstall Programs", lalu "Turn on / off fitur Windows"
  2. Temukan "Layanan Informasi Internet"
  3. Klik kotak centang dan tekan "OK".
  4. Mulai ulang, lalu ulangi pendekatan kedua (services.msc)
Fazal
sumber
Terima kasih, tapi jawabannya sudah terjawab. Mungkin itu bisa membantu seseorang ese (:
Félix Desjardins
Jawaban Anda tidak dapat membantu saya, saya menemukan solusi saya sendiri. Terima kasih :)
Fazal
1
Cemerlang! Itu hanya Skype yang memblokir Apache! Bagian favorit saya dari proses ini: setelah mematikan port Skype 80 & 443, saya harus keluar dari Skype. Sebuah peringatan muncul yang mengatakan (diparafrasekan) "Jika Anda keluar dari Skype, Anda tidak akan dapat menggunakannya." Nah, ya!
CJ Dennis
14

Anda dapat mengubah port Apache:

  1. Buka C: \ xampp \ apache \ conf \ httpd.
  2. Temukan dengan kombinasi baris Ctrl + F #Dengarkan 12.34.56.78:80 dan ubah 80 menjadi yang Anda suka misalnya 81
  3. Begitu juga dengan Listen 80, ubah ke 81
  4. Sama dengan ServerName localhost: 80 ubah menjadi 81.
  5. Masuk ke C: \ xampp \ apache \ conf \ extra \ httpd-vhosts dan ubah 80 menjadi 81

NameVirtualHost *: 80 di sini

VirtualHost *: 80 dan di sini (dua kali)

  1. Mulai ulang Apache

Untuk masuk ke halaman web Anda, ketik: http: // localhost: 81 / index.html

Eksperimen
sumber
Saya akan merekomendasikan yang ini
Shuhratjan Nizamov
5
  1. Tekan Windows+ R, dan ketik regedit.

  2. Pergi ke

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
    

    Ubah nilainya Startmenjadi 4 yang artinya dinonaktifkan.

  3. Nyalakan ulang komputer Anda.

Do Nhu Vy
sumber
1
Windows 10 "Peningkatan November" menyebabkan masalah saya - semua telah bekerja sebelumnya pada versi lama Win 10. Saya tidak menjalankan W3svc atau Skype. Solusi ini berhasil! Terima kasih @Do Nhu Vy!
Jim M
5

Saya telah memperbaiki masalah ini dengan milik saya juga, tetapi saya harus mengubah beberapa hal. Saya mengharuskan pada mesin Windows 10 saya, saya menyimpan lingkungan pengembangan C # dan Visual Studio saya, jadi saya tidak ingin mengotak-atik layanan apa pun. Yang harus saya lakukan hanyalah mengunduh versi terbaru XAMPP dan mengubah port pendengar untuk 80 dan 443. Porta tersebut terletak di dua file:

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

Listen 122
ServerName localhost:122

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

Listen 444

Mengubah hal di atas dari port 80 menjadi 122 dan 443 menjadi 444 memungkinkan saya menjalankan Apache dan melayani halaman sambil menjaga semua hal lain tetap sama untuk pengembangan ASP.NET saya . Semoga ini membantu seseorang di luar sana. Pada akhirnya ini adalah perbaikan yang sangat sederhana.

Arahkan browser Anda ke: http://localhost:122

Paul Carlton
sumber
Saya rasa ini adalah cara termudah dan paling sederhana. Terima kasih banyak!
Diptangsu Goswami
1 karena mematikan Layanan NET jelas bukan pilihan bagi saya. Tentu saja saya ingin menjalankan IIS dan Apache secara bersamaan!
Alan
4

Saya mendapat masalah yang sama, tetapi solusi sebelumnya mengarahkan kami untuk mengubah port daripada mendapatkan solusi yang tepat. Saya telah mencari tentang port protokol HTTP & HTTPS sederhana dan menemukan.

Jika aplikasi lain sudah berjalan, port HTTP atau HTTPS di mesin lokal, kami akan mendapatkan masalah ini jelas hanya karena port tersebut sudah digunakan dan dalam status sibuk .

Itu sebabnya setelah mengubah nomor port itu berfungsi. Tetapi alih-alih mengubah port di server XAMPP, saya telah menggunakan metode berikut dan itu berhasil untuk saya.

Inilah langkah berikut yang saya dapatkan selama perbaikan ini.

  1. Error yang saya dapatkan di aplikasi XAMPP Server.

    Kesalahan Server XAMPP

  2. Di pojok atas ada tombol bernama Netstat . Ini sangat berguna untuk mencari port yang sedang berjalan pada sistem.

    Tombol Netstat

  3. Ini adalah aplikasi Netstat tempat saya menemukan aplikasi yang sudah berjalan dan menggunakan nomor port 443. Dalam kasus saya, itu adalah vmware-hostd.exe . Anda mungkin aplikasi yang berbeda. Coba cari port 80 (HTTP) atau port 443 (HTTPS).

    Aplikasi Netstat dibuka

  4. Saya baru saja membuka Windows Task Manager , memilih aplikasi itu vmware-hostd.exe , dan menghentikan proses dengan menggunakan tombol Akhiri Proses . Saya telah mematikan proses yang menggunakan port 443. Dan aplikasi ini tidak diperlukan saat ini.

    Membuka pengelola tugas dan mematikan aplikasi itu

  5. Setelah mematikan aplikasi di Windows Task Manager, Apache sekarang tersedia saat ini. Ini buktinya.

    Apache bekerja


CATATAN: * Jika Anda menemukan aplikasi apa pun yang menggunakan port HTTP atau HTTPS berarti port 80 atau port 443 dan aplikasi tersebut tidak penting atau tidak vital, maka hanya mematikan proses aplikasi itu.

Jika tidak, Anda tidak perlu mengikuti langkah-langkah ini. Maka Anda perlu mempertimbangkan untuk mengubah port aplikasi XAMPP Anda seperti yang tertera pada jawaban sebelumnya. *

Dipak Bari
sumber
4

Saya mencoba semua yang tercantum dalam jawaban di sini tetapi tidak ada yang berhasil.

Kemudian yang saya lakukan hanyalah memulai kembali XAMPP dengan hak administrator dengan:

Start menu - klik kanan pada XAMPP - pilih run as administartor

Berhasil. Sesederhana itu.

Saya menghapus layanan IIS, menghentikan layanan WWW, mengubah port kembali ke 80, memblokir semua koneksi apache dan mysql dari firewall windows 10, tetapi ya itu masih berfungsi!

Tarik
sumber
2

Setelah bermain-main, sebenarnya yang harus Anda lakukan adalah mengubah dua baris di file httpd.conf :

Ubah "Dengarkan 80" menjadi "Dengarkan 122" (atau apa pun yang Anda inginkan)

dan

"ServerName Localhost: 80" ke "Localhost: 122" (atau porta yang Anda ubah di atas)

Maka semuanya harus menyala dengan benar: P

Msquared86
sumber
2

Sepertinya ada banyak pilihan. Jawabannya tergantung pada instalasi Windows Anda. Berikut adalah pengalaman saya ketika mengalami masalah yang sama dalam penginstalan baru Windows 10 dan perbaiki masalah dengan langkah berikut:

  1. Instal Visual C ++ Redistributable
  2. Buka XAMPP dan pilih konfigurasi di layanan Apache
  3. Ubah port 80 menjadi 9000 atau 81 atau apapun yang Anda inginkan di file httpd.conf di teleponListen 80
  4. Ubah port di httpd-ssl.conf dan ubah Listen 443keListen 441
  5. Mulai ulang XAMPP dan mulai layanan Apache. Ini bekerja untuk saya.

Catatan : Saya menggunakan XAMPP versi 5.6.15 dan XAMPP Control Panel versi 3.2.2.

Gujarat Santana
sumber
2
Tangkapan yang bagus - pastikan port http dan https tidak mengalami konflik
Aaron Hudon
1
  • Buka menu mulai, dan ketik Aktifkan atau nonaktifkan fitur Windows
  • Hapus centang Layanan Informasi Internet
  • tekan OK
Clicia Scarlet
sumber
1

Dalam kasus saya, ini adalah kasus sederhana untuk menghapus IIS karena Windows 10 dilengkapi dengan IIS (Internet Information Service) yang sudah diinstal sebelumnya - yang bertentangan dengan XAMPP karena kedua server ini mencoba menggunakan port 80. Jika Anda tidak ingin menggunakan IIS dan tetap gunakan XAMPP

  1. Pergi untuk menjalankan / mencari di Windows 10
  2. Cari 'fitur opsional'
  3. Di daftar itu hapus centang Internet Information Service (IIS)

Kemudian restart .

almaruf
sumber
1

Saya menemukan bahwa menjalankan apache_start di memberi saya kesalahan yang tepat dan di baris mana itu.

Kesalahan saya adalah saya meninggalkan ruang di antara localhost: dan port.

Aaron Rabinowitz
sumber
Apa itu "menjalankan apache_start in"? Misalnya, apakah ada kata yang hilang?
Peter Mortensen
Salin-tempel bekerja lebih baik daripada mengetik (kecuali tentu saja GNOME digunakan - hindari GNOME dengan cara apapun).
Peter Mortensen
1

Layanan Penerbitan World Wide Web bukan satu-satunya yang bertanggung jawab dalam kasus saya.

Saya telah menginstal IIS, jadi saya harus menghentikan seluruh layanan HTTP.

Ini adalah perintah yang saya jalankan di CMD (sebagai administrator):

net stop W3SVC
net stop http
Ceparu Stefan
sumber
1

Jika Anda telah menginstal SQL Server , beberapa layanannya mungkin memblokir porta yang dibutuhkan XAMPP. Saya memecahkan masalah saya dengan menonaktifkan Layanan Pelaporan SQL Server dan sekarang Apache mulai tanpa masalah.

Cukup buka services.msc, gulir ke bawah, dan temukan Layanan Pelaporan SQL Server . Klik kanan padanya dan klik Stop.

Peyman.H
sumber
0

Sebenarnya, secara default IIS (Microsoft, .NET, dll.) Diinstal.

  • Pergi ke Control Panel
  • Mengaktifkan atau menonaktifkan fitur Windows ...
  • Di bawah (IIS) Internet Information Services, hapus centang pada (WWWS) world wide web services.
  • Klik OK.

Ini bisa menjadi solusi permanen. :)

Xyren Poh
sumber
0

Nasihat ini sangat bagus. Saya memiliki masalah yang sama, tetapi solusi saya berbeda, karena saya sangat bodoh, bahwa saya telah mengganti nama direktori tempat XAMPP berada dan karena saya telah menginstal banyak program lain, saya tidak dapat mengganti namanya kembali.

Dalam kasus saya ada direktori asli C: \ Program \ Xampp dan diganti namanya menjadi C: \ PROGRAMS_ \ Xampp dan itulah kesalahannya.

Solusinya adalah menemukan semua referensi di C: \ Program dan mengganti namanya menjadi C: \ PROGRAMS_ di direktori XAMPP, karena untuk beberapa alasan selama instalasi ia menulis jalur absolut, bukan relatif. Tentu saja, ada juga beberapa referensi di registri.

Mayk
sumber
Ini tampaknya menjadi kasus yang sangat spesifik dan tampaknya tidak sesuai dengan skenario pertanyaannya.
dakab
Ya saya setuju, tetapi saya pikir ini dapat membantu seseorang, karena saya menghadapi situasi yang sama (memiliki windodw 10 baru) dan kesalahannya sama, jadi mungkin ini bukan skenario yang persis sama, tetapi saya pikir seseorang colud menganggap ini membantu .
Mayk
0

Ini hanya masalah membuat port 80 tersedia untuk layanan Apache Anda. Cara saya memecahkan masalah adalah:

  1. Di Windows 10, klik kanan tombol start dan pilih Run
  2. Ketik services.msc dan klikOK
  3. Cari dan klik kanan layanan penerbitan web
  4. Pilih Properties
  5. Ubah nilai jenis Startup ke Otomatis (Start Tertunda)
  6. Hidupkan Kembali komputer Anda.

Itu dia. Semuanya kembali normal.

Rancantemos
sumber
0

Itu sederhana bagi saya!

Coba jalankan Control Panel XAMPP sebagai administrator.

Ahmad Jahanbin
sumber
0

Saya telah mencoba semua solusi di atas. Tapi itu tidak berhasil dengan cara apapun.

Terakhir, saya baru saja menghapus XAMPP dan menginstalnya kembali . Kemudian itu berhasil untuk saya.

Sekarang saya dapat menjalankan server di port mana pun (termasuk 80).

Sathish
sumber
0

Langkah:

  • Buka Panel Kontrol XAMMP
  • Buka Apache Config, lalu pilih file konfigurasi Apache - xammp-
  • Cari "Port 443", lalu ubah ke port lain, katakanlah 4433
  • Kemudian restart.
C Williams
sumber
terima kasih, @Peter Mortensen telah mengedit jawaban saya :)
C Williams
0

Periksa apakah instalasi PHP Anda berfungsi.

Periksa file php.ini mana yang Anda jalankan di konfigurasi Apache dan gunakan untuk menjalankan php.exe ...

Rubber Telly Media
sumber
0

Anda mungkin baru saja memperbarui Windows Anda ke Versi 1903 (OS Build: 18362.239) atau telah mengubah kata sandi pengguna. Meskipun telah menghilangkan semua konflik port , saya masih terus mendapatkan pesan yang dijelaskan oleh OP di awal posting ini.

Akhirnya saya mengobatinya dengan mengupgrade ke XAMPP ke 7.3.7. (Ketika dipaksa untuk menginstal ulang, Anda mungkin juga meningkatkan secara bersamaan!)

Tapi masalah terulang kembali ketika saya pergi untuk mengubah kata sandi pengguna 'root'.

Pesan kesalahan konsol menutupi fakta bahwa tabel mysql.user rusak.

Periksa file mysql_error.log . Jika Anda melihat kesalahan Fatal: Tidak dapat membuka dan mengunci tabel hak istimewa: Indeks untuk tabel 'pengguna' rusak; coba perbaiki , lalu lihat ini .

Pecundang buruk
sumber
0

Saya mendapat masalah yang sama dan saya menyelesaikannya dengan mencopot pemasangan server WAMP .

Mikami
sumber
0

masukkan deskripsi gambar di sini

Ubah nomor port port mana yang tersedia di sistem Anda Dengan cara berikut

1. Pertama buka file "httpd.conf" Apache:

#Listen 12.34.56.78:80
Listen 80
ServerName localhost:80

untuk

#Listen 12.34.56.78:8080
Listen 8080
ServerName localhost:8080

2. Buka httpd-ssl.conf:

Listen 443
<VirtualHost _default_:443>

untuk

Listen 441
<VirtualHost _default_:441>

3. Ikuti triknya. Sekarang "Mulai" Apache dan jika semuanya berjalan dengan baik, server Apache Anda harus mulai.

Safaetul Ahasan Piyas
sumber