Ada dua hal yang dapat menyebabkan masalah ini: Layanan berbagi web bawaan Apple menjadi aktif atau proses XAMPP zombie masih aktif.
Jika ini disebabkan oleh berbagi web Apple, Anda dapat menangani semua ini dengan membuka System Preferences…
dan memilih Sharing
. Sesampai di sana, hapus centang Web Sharing
— yang pada dasarnya hanya Apache httpd
— dan masalah Anda harus diselesaikan.
Yang mengatakan, jika ini pada dasarnya adalah "zombie" contoh dari Apache berjalan setelah beberapa XAMPP tweak, taruhan terbaik adalah melakukan sesuatu seperti berikut:
Pertama, jalankan lsof
(daftar file yang terbuka) yang akan mendaftar semua file yang aktif dibuka pada sistem.
sudo lsof | grep MAMP | grep apache
Perhatikan dua grep
perintah yang disalurkan secara bersamaan? Apa yang saya lakukan adalah mendapatkan daftar file yang terbuka, kemudian memfilter file-file yang memiliki jalur file yang terhubung ke MAMP — atau dalam kasus Anda mengubahnya menjadi XAMPP atau folder / direktori apa pun yang Anda gunakan untuk menjalankannya — dan saya memfilter apache
in nama path. Daftarnya akan terlihat seperti ini:
httpd 2204 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2211 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2212 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2213 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2214 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2215 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
httpd 2216 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log
Oke, itu adalah daftar seluruh proses. Apache berjalan pada konsep ada satu proses orangtua dengan banyak proses anak melahirkan untuk berurusan dengan lalu lintas. Jadi, jika Anda membunuh proses anak, proses orang tua memperhatikannya & respawns anak baru.
Sekarang melihat daftar itu, biasanya angka terendah dalam daftar proses itu adalah orang tua — karena dimulai sebelum proses anak lainnya tentu saja — jadi Anda harus membunuh itu untuk membunuh semua proses. Jadi dalam hal ini, proses angka terendah dalam daftar adalah 2204
, jadi jalankan saja perintah ini:
kill 2204
Dan kemudian proses orang tua terbunuh dan semua proses anak harus hilang juga. Maka port 80
harus tersedia lagi.