要了解织梦程序是如何运行的,需要从宏观上了解织梦程序运行流程,在学习这些前,我们需要知道,一般的程序是如何运行的。首先我们要学习一下php运行过程时序图,把这个运行过程理解了,那么,分析织梦程序运行就简单了。
在运行php程序前,首先安装apache(apache是web服务器,是目前应用最多的服务器,还有iis web服务器,如果你在网上买过主机,你会发现基本上就这二种web服务器)web服务器,mysql数据库和php程序等,这个我们可以在网上下
载工具包,如APMServ5.2.6工具包,只需要解压即可完成web 服务器、数据库等安装。
当我们在浏览器打开一个php文件(例如http://www.dedebase.com/test.php,里面有一段加法运算$a = 5;$b = 343;$c = $a + $b;echo "$c";)后,很快在浏览器上我们看到了运算结果是348,这一过程是如何实现的呢?我们制作php运行过程时序图如下。
通过上图我们知道,当我们在浏览器上面打开http://www.dedebase.com/test.php文件后,并不是直接去到apache服务器上面去找这个test.php文件,而是首页解析主名www.dedebase.com,然后去hosts文件里去查询这个主机名www.dedebase.com对应的ip.
为什么要查询这个呢?因为,浏览器和apache通信是通过http协议进行的,而要在apache 这个web服务器上面找到对应的域名,需要通过http协议,发送到apache进行查询,所以,浏览器必须先查询主机名即域名对应的ip。
如果查询成功,直接向apache发送http协议请求,当然,此时的请求不仅包括ip对应的主机名,还有test.php文件;如果查询失败,那没有关系,直接到域名服务器dns查询ip,然后,再向apache服务器发送请求。
因为apache服务器上面邦定了很多的域名,所以,在收到请求后,它会在apache服务器上面查询对应的域名(如果你做过网站,你肯定会知道,当我们做网站时,要买一款主机,然后,把域名邦定到我们买到的空间上面,而现在市场上用到的web服务器,绝大多数是apache和iis),以及test.php所在的目录和test.php文件。
请注意:如果test.php需要数据库查询服务,那么,他会查询数据库表(例如我们常用到的增、删,改,查等操作),然后,把查询结果返回到apache上面对应的php文件,然后,把计算结果,通过http协议,返回给浏览器,也就是我们在浏览器上面看到的结果348。
当然,这个test.php文件并没有对数据库进行操作,所以,他直接在web服务器上面计算结果返回给浏览器,但一般的网站都会用到数据库查询,例如,我们在后台添加内容时,就会对数据库进行操作。
上面是当我们在浏览器打开test.php文件的原理,那织梦是不是这样呢?当然,完全一样,只不过可能主机名即域名不一样,可能用到的不是apache服务器,而是iis或其它服务器不一样,其它操作完全一样。