织梦程序运行流程分析

2014-12-09dedecms开发
80

  要了解织梦程序是如何运行的,需要从宏观上了解织梦程序运行流程,在学习这些前,我们需要知道,一般的程序是如何运行的。首先我们要学习一下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运行过程时序图如下。
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或其它服务器不一样,其它操作完全一样。
The End

相关推荐

织梦cms批量删除所有无效TAGS的办法
使用过DedeCMS的站长应当都遇到过这样的问题,在我们删掉一些文章内容后,tags标识中就慢慢拥有许多失效的标识存有,这种TAGS标识并不会跟随大家删掉文章内容一起删掉,如果是受欢迎的词还行,有很多文章内容都是有,如果是小众词,便会发生在TAGS目录有词,...
2023-08-17 dedecms开发
181

怎么修改织梦DEDECMS源码tags标签字数限制
修改织梦DEDECMS中TAG标签字数长度限制的方法共两个步骤,分别是对数据库字数和提交文件的字数进行修改。 一、我们通过织梦DEDECMS后台程序中的系统设置栏目下的SQL命令行工具,来修改数据库中表wmd_tagindex 和wmd_taglist的tag字段属性,将TAG字段属性中...
2023-02-16 dedecms开发
196

织梦dedecms列表页实现第一页与其他页调用不同模板的办法
我们想让dedecms织梦第一页与其他第二页、第三页、、、后面的页调用的不同模板,这个要怎么实现呢? 第一步 修改核心文件 打开 /include/arc.listview.class.php 找到,大概在第330行 $this-ParseDMFields($this-PageNo,1); 在它的上面加入: $tempfile = $GL...
2022-11-19 dedecms开发
195

织梦dedecms调用当前栏目文章数的方法
这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它...
2022-11-05 dedecms开发
186

dedecms织梦无需登录注册可下单购买的修改
dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)...
2022-11-02 dedecms开发
171

DEDECMS织梦复制https链接网站图片无法本地化的解决办法
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到...
2022-06-15 dedecms开发
125