Так как я всегда создаю мини-сайты для тестирования и разработки, я пишу скрипт на основе мини-веб-сайта на PHP 5.3, чтобы облегчить создание локальных сайтов разработки на Windows, работающих под управлением стека WAMP, который предназначен для создания записи vhost, а также записи для сайта в файле хоста Windows, и я подумал, что я мог бы также сделать его как можно более неспецифичным для версии Windows. Мне пришло в голову, что:-
а) Я даже не могу вспомнить время, когда в моем файле hosts не было ничего, кроме записи localhost 127.0.0.1, и если она вообще была в нем «из коробки»
б) Все ли версии после Windows 3.1 всегда использовали файл хоста для локальных DNS-запросов и всегда ли он находится в :\WINDOWS\system32\drivers\etc\hosts?
Я знаю, что это звучит немного лениво, чтобы сэкономить себе время, вручную внеся пару простых правок в apache conf и файл host, но я планирую добавить к нему несколько дополнительных битов (создание шаблона базы данных mysql/sqllite/mssql/postgre, возможность создания шаблона Zend Framework и т. д., так что это будут не только записи vhost и файла host! Я также создам параллельный сценарий настройки, чтобы, надеюсь, упростить развертывание на моем Unix vps, но это должно быть немного проще).
решение1
Все ли версии Windows поставляются с файлом hosts и все ли они имеют запись localhost?
Нет. Начиная с Windows 7 запись localhost была удалена. localhost теперь разрешается в самом DNS-резолвере. Сам файл есть, но из коробки это просто куча комментариев.
Тем не менее; Windows 7ведет себякак будто в файле HOSTS есть запись localhost. localhost указывает на 127.0.0.1 и ::1, просто разными способами.
Все ли версии Windows после 3.1 всегда использовали файл хоста для локальных DNS-запросов и всегда ли он находится в :\WINDOWS\system32\drivers\etc\hosts?
Это всегда было %WINDIR%\system32\drivers\etc\hosts
для Windows на базе NT. Некоторые версии Windows, например 2000, используют \WINNT вместо \Windows. И как я уже сказал выше, Windows 7 вообще не использует файл HOSTS для разрешения localhost.
Для Windows, отличных от NT (например, 95/98/ME), это было %Windir%\HOSTS
.