Битва за 80-й порт
Всем привет! В данном видео мы разберем достаточно стандартную проблему, связанную с использованием 80 порта, который нужен для любого локального веб-сервера, и который часто бывает занят то другими программами, то неприятной операционной системой.
Допустим, мы установили Xampp – хороший, удобный веб-сервер. Но при его запуске вместо синей надписи (что все хорошо), высвечивается красная: 80 порт занят программой «скайп». В принципе, данная проблема не страшная, можно совершенно спокойно после запуска компьютера и загрузки операционной системы включать сначала Xampp, а только потом скайп. Кто первый занял 80 порт, тот его у себя задержит, и формально такой ошибки не будет. Но это неудобно: представьте, вы сидите в скайпе, и вам надо включить Xampp, написать немножко кода на php. И что теперь делать, закрывать скайп, включать Xampp, потом снова открывать скайп? Это ж сколько лишних действий! Плюс подобная проблема с 80 портом не решится, если у вас 80 порт займет не скайп, а система. Поэтому давайте немножко пошаманим, и обе эти проблемы решим.
Сразу скажу, что Xampp по идее можно перестроить на другой порт. Но многим, особенно новичкам, это сделать будет крайне затруднительно. Поэтому мы освободим в системе 80 порт от всех других ненужных программ. В первую очередь разберемся со скайпом, как с наиболее простой проблемой. Открываем в скайпе инструменты –> настройки –> заходим во вкладку дополнительно –> соединения, и снимаем галочку «для дополнительно входящих соединений использовать порты 80 и 443». Именно эти порты и нужны всем локальным серверам. После этого мы должны перезапустить обе программы. Ура, скайп внизу горит, Xampp тоже открыт и никаких проблем с 80 портом нет.
Это только одна сторона вопроса – самая популярная и распространенная неприятность, которая решается быстро и легко. Но сейчас у нас повсеместно Microsoft заставил всех обновиться до windows 10 – он, когда вы его установите, с какого-то момента тоже начнет блокировать 80 порт. И вот эта задача гораздо боле неприятная: windows 10 не блокирует 80 порт, а запускает системную службу, которая его использует, поэтому даже при правильно перенастроенном скайпе у вас все равно будет красное сообщение, что 80 порт занят системным процессом с айдишником 4. Завершать этот системный процесс вручную не рекомендуется, да и лениво каждый раз это делать, поэтому алгоритм действий здесь следующий: заходим в программу, которую боятся практически все – в командную строку, и пишем еще более страшную команду «regedit», и заходим в системный реестр. Ни в коем случае ничего здесь не исправляйте кроме того, что нас сейчас интересует, потому что эти вещи нельзя исправлять бездумно и без знаний.
Итак, нас интересует следующий путь – заходим в HKEY LOCAL MACHINE, дальше в SYSTEM, в CurrentControlSet, в services, и ищем здесь вкладку HTTP. Внимание, у вас по умолчанию в windows 10 (да и в windows 7 тоже) в значке start будет стоять значение 3. Вам надо здесь вписать значение 0, без всяких кавычек и других знаков, и нажать ОК. После чего нужно перезагрузить компьютер, потому что это поле старта, он фактически отвечает за автозапуск неких служб при включении компьютера и загрузки операционной системы. Если вы в поле «старт» переставите значение на 0, закроете реестр, закроете консоль, то после этого у вас Xampp будет запускаться великолепно (и не только Xampp, но и другие программы, использующие 80 порт, будут работать, как и должны). И денверы, и опен серверы, и прочие радости жизни теперь вам доступны.
На этом все, приятного программирования на php!