PHP网页编程之用PHP编程开辟“虚拟域名”体系
我先把我自己学习PHP的过程做一下概括:编程 假如本人的办事器也可以完成简记域名就行了。其实这其实不庞杂。你也能够做一个简记域名体系。简记域名体系的关头手艺在于:完成Web页面的重定向(Redirctory)。在实质上,简
记域名体系和虚拟机体系完整分歧。虚拟机的虚拟域名和IP是存在逐一对应关系的。而简记域名体系不需求将域名和IP做逐一映照。也就是说,它基本不需求庞杂的域名解析机制和虚拟机来完成,它所做的工作就是当你在恳求yourname.somedomain时,将你的阅读重视新定向到你原本寄存Html页面的中央。
本法式运转情况是:RedHat 5.1 Linux下的Apache1.3.6 Web办事器+PHP3言语。在编写法式之前,咱们起首要设置好咱们的办事器。起首要让Apache办事器撑持php3。到ftp.redhat.com下载mod_php-2.0.1-9.i386.rpm,装置后,修正/etc/httpd/conf/http.conf文件,去失落#LoadModule php3_module一句后面的#正文号,一样在/etc/httpd/conf/srm.conf文件里去失落#AddType application/x-httpd-php3 .php3后面的正文号,同时在DirectoryIndex一项后添加index.php3。从头启动Apache Server,此时办事器就撑持尺度的php3言语剧本文件了并能将index.php3作为默许的首页。
设置DNS办事器,使其能对泛域名解析。普通的Unix和Linux体系的DNS解析都是由Bind守护法式完成的,Bind4和Bind8的设置装备摆设文件分离/etc/named.boot和name.conf,设置装备摆设时依据你的体系修正。设置Bind的设置装备摆设文件/etc/named.boot,在个中到场“primary domain.com db.domain”一句,添加一个新的域纪录。在/etc/name.conf中到场:
zone "domain.com" {
type master;
file "db.domain”; };
在/var/name/中新建主域纪录文件db.domain,其格局为:
N SOA dns.domain.com root.domain.com (
199811291 ;Serial
28800 ;refresh
7200 ;retry
604800 ;expire
86400) ;minimum
dns
MX 10 dns.domain.com.
dns A 202.115.135.50
www A 202.115.135.50
* A 202.115.135.50
关头是最初一句,行将全部域能够呈现未做标志的一切Hostname全体指向统一IP。 履行/usr/sbin/ndc reload,从头加载域名数据库。测试一下,此时应当随意ping一个domain域内的主机(除已标志的),都指向了指定的IP,那末DNS办事器设置完成。
最初一步是编制PHP3剧本。咱们方才已在图中具体的申明了全部的道理,所以写一个从头定向的法式就不是很难了。
让咱们来看一个由IE5.0送出的完全HTTP头信息:
Accept: application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint,image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-cn
Connection: Keep-Alive
Host:ww.yahoo.com
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0b1; Windows 98)
咱们需求在全部HTTP头信息中掏出Host信息,然后将http://www.jj.jx.cn/www.xxx.xxx/default.htm模式的第一局部“www”,即HostName(也便是用户注册的name)独自掏出,作为重定向检索的关头字。
检索到用户注册的URL信息后,咱们给用户阅读器送一个重定向号令“Localtion: http://www.jj.jx.cn/somewhere/sample.html”,将用户重定向到指定页面。
在PHP3中,有函数GetAllHeader(),获得阅读器送出的HTTP头信息。咱们次要需求利用此函数来完成全部法式。
前面附有源法式,因为只是实行性质的,所以在查询用户信息时,没有利用数据库,假如全部体系要实践使用的话,必定要和数据库挂接起来,否则查询用户信息的进程将是非常漫长,大大影响效力,并且用户数据的办理也不便利。
在源法式中,一切用户信息纪录在data子目次下user.dat文件中。其格局为:
username:
http://octopus.cdit.edu.cn/~qap213/index.html
附PHP3源法式:
<?
//Get HTTP’s Header and parse it//
= getallheaders();
while (list(, ) = each()) {
if(=="Host"){= strtok(,".");}}
//Jump out the Banner's Window//
echo '<script language="JavaScript">',
'msg=window.open("banner.htm","sample",
"toolbar=no","directories=no",directories=no","menubar=no");’,
'</script>';
// seek the user information from the recorded file//
if(!=file("data/user.dat")){echo "Open Data File Error!!";}
="http://";
for(=0;<count();++)
if(strtok(,":")==){
=; }
if(=="http://"){echo "not found the uesrname of Data!";}
else{
echo '<meta http-equiv="refresh" content="0;','url=',,'">';} http://www.ckuyun.com/
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 Ps:以上纯属原创,如有雷同,纯属巧合 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 本文当是我的笔记啦,遇到的问题随时填充 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 Ps:以上纯属原创,如有雷同,纯属巧合 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 本文当是我的笔记啦,遇到的问题随时填充 使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
页:
[1]