2016-09-24 42 views
0

我做我的項目實施本地主機XAMPP安裝PHP - 寫入主機文件編程

我的項目的一部分是,

當用戶我的網頁上報名,他將被要求爲他所需的子域,從此他的網址是:

chosensubdomain.mysite.com

一切完美,除了子域我必須手動添加在Windows主機文件中的條目如下

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

我想是當表單提交的主機文件應該有條目添加了什麼

我不確定是否可以使用PHP以編程方式在Windows主機文件中輸入條目。

請幫助我這個隊友...

回答

1

雖然這是非常有可能的,更好的,節省時間的方法將是使用你選擇的編程語言在服務器上動態地創建子文件夾,然後使用將.htaccess文件重寫爲http://foo.com/barhttp://bar.foo.comThis應該可以幫助你,如果你在一個活的服務器上,或者你在本地機器上使用Zpanel(爲了便於高級DNS控制),否則你可以在主機文件中手動添加一個全部(*)子域。

*.foo.com  IN A  127.0.0.1 

如果您仍然想這樣做的醇」的方式,你必須使用PHP的I/O功能,能夠動態文本追加到您的主機文件。

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

其實,我覺得this回答你的問題更好。

+1

謝謝你,ol我喜歡的方式,那工作夥伴 –

1

保持向主機寫入新條目不是一個好方法。

這是我的想法:在您的本地環境中使用Dnsmasq

例如:設置Dnsmasq on OSX

爲的dnsmasq規則應設置爲解決與mysite.com127.0.0.1

以這樣的方式,所有的子域在您的本地環境的匹配將指向本地主機結尾的域名,這就解決了你的問題。

在生產環境中,您可以爲您的域設置通配符A或AAAA(可能)記錄。

+0

感謝您的建議和解決方案隊友。我會試試 –