поддомен — запись в файл Host программно

Я делаю реализацию моего проекта в localhost Xampp монтаж

Часть моего проекта,

Когда пользователь регистрируется на моей странице, ему будет предложено указать желаемый поддомен, и с этого момента его URL будет:

chosensubdomain.mysite.com

Все работает отлично, за исключением поддоменов, я должен вручную добавить записи в файл хоста Windows следующим образом

127.0.0.1       chosensubdomain.mysite.com   abc.mysite.com  xyz.mysite.com

То, что я хочу, было, когда форма представляет хост-файл должен быть дополнен записью

Я не уверен, возможно ли сделать запись в файле Windows Host программно с использованием PHP.

Пожалуйста, помогите мне с этим товарищам …

0

Решение

Несмотря на то, что это очень возможно, лучше сэкономить время будет использовать выбранный язык программирования для динамического создания подпапок на сервере, а затем использовать .htaccess файл для перезаписи http://foo.com/bar в http://bar.foo.com, это должен помочь вам, если вы используете живой сервер или используете Zpanel на локальном компьютере (для простоты расширенного контроля DNS), в противном случае вы можете вручную добавить поддомен «все» (*) в файл хоста.

*.foo.com       IN  A       127.0.0.1

Если вы все еще хотите сделать это по-другому, вам нужно использовать функции ввода-вывода PHP для динамического добавления текста в ваш файл хоста.

$sub_domain = "   foo.bar.com";
$append = file_put_contents('C:\Windows\System32\drivers\etc\hosts', $sub_domain.PHP_EOL , FILE_APPEND | LOCK_EX);

Я на самом деле думаю этот лучше отвечает на ваш вопрос.

1

Другие решения

Хранение записи новых записей для хостов не очень хороший способ.

Вот моя идея: использовать Dnsmasq на вашем местном окружении.

Например: настройка Dnsmasq на OSX

Правило для dnsmasq должно быть установлено для разрешения любого домена, заканчивающегося на mysite.com в 127.0.0.1

Таким образом, все ваши субдомены, соответствующие вашей локальной среде, будут указывать на localhost, что решит вашу проблему.

В производственной среде вы можете установить подстановочный знак A или AAAA (возможно) для вашего домена.

1

По вопросам рекламы [email protected]