PHP - 写入主机文件编程
我做我的项目实施本地主机XAMPP安装PHP - 写入主机文件编程
我的项目的一部分是,
当用户我的网页上报名,他将被要求为他所需的子域,从此他的网址是:
chosensubdomain.mysite.com
一切完美,除了子域我必须手动添加在Windows主机文件中的条目如下
127.0.0.1 chosensubdomain.mysite.com abc.mysite.com xyz.mysite.com
我想是当表单提交的主机文件应该有条目添加了什么
我不确定是否可以使用PHP以编程方式在Windows主机文件中输入条目。
请帮助我这个队友...
虽然这是非常有可能的,更好的,节省时间的方法将是使用你选择的编程语言在服务器上动态地创建子文件夹,然后使用将.htaccess
文件重写为http://foo.com/bar
至http://bar.foo.com
。 This应该可以帮助你,如果你在一个活的服务器上,或者你在本地机器上使用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回答你的问题更好。
保持向主机写入新条目不是一个好方法。
这是我的想法:在您的本地环境中使用Dnsmasq
。
例如:设置Dnsmasq on OSX
为的dnsmasq规则应设置为解决与mysite.com
到127.0.0.1
以这样的方式,所有的子域在您的本地环境的匹配将指向本地主机结尾的域名,这就解决了你的问题。
在生产环境中,您可以为您的域设置通配符A或AAAA(可能)记录。
感谢您的建议和解决方案队友。我会试试 –
谢谢你,ol我喜欢的方式,那工作伙伴 –