Достаточно часто пользователи сталкиваются с такой проблемой, что не удается сохранить файл hosts при настройке локального веб-сервера XAMPP в связке с языком программирования PHP. Обычно это связано либо с непониманием процесса и особенностей документа, либо с блокировкой со стороны антивирусных систем. В данной статье разбирается, в чём возможна ошибка и почему документ hosts не удаётся сохранить или изменить.
Ошибка расширения файла hosts
Первая ошибка состоит в том, что файл hosts воспринимается пользователем, как документ с расширениемtxt. Это связано с частой рекомендацией изменять его через Блокнот. Однако hosts является системным файлом, который не имеет расширения, поэтому написание .txt после названия приведёт к тому, что документ просто перестанет выполнять свои функции.
Ошибка содержания файла hosts
Браузер обращается к файлу при каждом поиске какого-либо веб-ресурса. В hosts содержатся инструкции по работе с каждым конкретным порталом. Например, там могут быть следующие строки:
127.0.0.1 kinomonster.com
127.0.0.1 mysite.test
127.0.0.1 mysite2.com
127.0.0.1 mysite3.ua
127.0.0.1 mysite4.ru
127.0.0.1 mysite5.by
В приведённом выше примере даны команды, которые блокируют пользователю доступ к перечисленным порталам в интернете и перенаправляют все локальные запросы к данным сайтам на ваш компьютер (веб-сервер).
Перечисленные доменные имена - это ваши локальные сайты. Когда вы вносите правила в файл hosts, вы говорите вашему браузеру и сети, что при обращении, например к kinomonster.com загружай сайт не из интернета, а с моего компьютера (локального веб-сервера).
Правила файла hosts, можно сравнить с регулировщиком на дороге. Когда присутствует регулировщик на дороге, водители подчиняются сигналам регулировщика и игнорируют сигналы светофора.
Как правило, изначально файл не содержит никаких правил относительно веб-ресурсов. Однако это не значит, что он совершенно пустой. Нередко в документе можно найти следующие строки:
Это никакие не функции, а обычные комментарии, поясняющие работу файла. Но неопытные пользователи воспринимают их за правило и при написании собственных команд ставят впереди решётку #. Этого делать не надо. Так вы закомментируете свой скрипт, не дадите ему работать. Кроме того, нельзя допускать лишние пробелы. Допустимая кодировка файла hosts – ANSI или UTF-8.
Изменение пути к файлу hosts
Браузер обращается к файлу по заранее прописанному пути – C:\Windows\System32\drivers\etc. Изменение местоположения документа приведёт к тому, что программа просто не сможет его найти. Поэтому нельзя перетаскивать файл в другие папки.
Как правильно сохранить файл hosts
В уроках PHP программирования, я уже показывал наиболее частую ошибку – это открытие файла не от имени администратора, а напрямую. Надо помнить, что hosts – системный документ, который защищён от случайного изменения. Поэтому нужно открывать файл через Блокнот от имени администратора.
1. Нужно нажать «Пуск» (в самом низу слева), найти пункт «Все программы», а в нём выбрать «Стандартные». После чего по надписи «Блокнот» щёлкнуть правой клавишей мыши и выбрать в открывшемся меню запись «Запустить от имени администратора».
В Windows 10 процедура может отличаться. Вполне возможно, что «Блокнот» после открытия меню «Пуска» окажется в разделе «Часто используемые» в самом начале. Так что искать его не придётся, можно сразу кликать правой кнопкой мышки и выбирать соответствующий пункт. В противном случае нужную строчку можно найти во вкладке «Стандартные»
Важно! Частой ошибкой является то, что запись «Запустить от имени администратора» ищут не через главное меню, а нажав правой клавишей на файл hosts. Там этого пункта нет. Открывать надо не этот документ, а Блокнот (через «Пуск»).
2. Следующей ошибкой является то, что после запуска файла от имени администратора люди закрывают его и идут открывать hosts. Нужный вам документ следует искать через меню Блокнота, а не напрямую! То есть вы делаете так: щёлкаете «Файл», затем «Открыть».
В появившемся окне нужно пройти по указанному выше пути – C:\Windows\System32\drivers\etc\
Так как искомый документ не имеет расширения txt, то Блокнот его просто так не увидит. Для этого нужно внизу справа в открывшемся окне выбрать пункт «Все файлы», после чего отобразится нужная нам иконка.
После этого щёлкаем один раз левой клавишей по файлу hosts (это его так выбираем), а запускаем с помощью кнопки «Открыть», расположенной внизу справа в нашем окне.
Далее вносим необходимые изменения. После чего в главном меню Блокнота в пункте «Файл» нажимаем «Сохранить». Также можно кликнуть «Сохранить как». Но тогда надо обязательно проверить:
* что строка в адресе соответствует местоположению hosts;
* что после имени файла нет никакого расширения (txt и прочего);
* что выбран пункт «Все файлы».
Блокировка со стороны антивирусных систем
Что же делать, если файл hosts в Windows10 не сохраняется даже от имени администратора? Проблема может быть в антивирусных системах. Дело в том, что в них есть опция «запретить редактировать файл hosts». Чтобы не искать её, лучше просто отключить антивирусную программу на время, а потом включить её снова.
Самый простой и надёжный способ отключения следующий:
1. Заходим в меню «Пуск» и выбираем там «Средства администрирования». Щёлкаем.
2. В выпавшем меню ищем и кликаем «Конфигурация системы»
3. Откроется окно. Там нужно во вкладках «Службы» и «Автозагрузка» найти название вашей антивирусной системы и снять галочки. После чего нажать кнопку «Применить».
4. В итоге система запросит перезапуска компьютера. После повторной загрузки антивирусные программы не будут мешать сохранить файл hosts.
После внесения всех изменений не забудьте включить защитные системы, повторив всю процедуру.
Выводы
Самой распространённой ошибкой является несоблюдение инструкции по изменению документа hosts. Также часто наблюдается неправильное расширение (его наличие) при сохранении.
Кроме того, нередко противовирусные системы не дают вносить изменения, поэтому поможет временное отключение соответствующих программ. Благодаря этому, вы успешно сохраните файл hosts.
Если вы настраивайте файл host для вашего локального веб-сайта, я рекомендую пройти мой курс PHP для начинающих с нуля и вы изучите основы языка PHP программирования очень легко!