fengjunoo 发表于 2013-2-7 00:48:21

drupal 启动过程

1,启动控制函数 durpal_bootstrap

     该函数在 includes/bootstrap.ini 文件内。
     完整的启动过程包括8个阶段:
    1,DRUPAL_BOOTSTRAP_CONFIGURATION  加载配置参数
    2,DRUPAL_BOOTSTRAP_PAGE_CACHE       加载页面缓存
    3,DRUPAL_BOOTSTRAP_DATABASE            初始化数据库和注册自动运行函数
    4,DRUPAL_BOOTSTRAP_VARIABLES           加载系统变题和启动所需的模块
    5,DRUPAL_BOOTSTRAP_SESSION              加载会话对像
    6,DRUPAL_BOOTSTRAP_PAGE_HEADER     加载页头
    7,DRUPAL_BOOTSTRAP_LANGUAGE           加载语言包
    8,DRUPAL_BOOTSTRAP_FULL                    加载通用函数
 
2,CONFIGURATION 配置参数
     drupal_environment_initialize    环境初始化
     其中,$_GET['q'] = request_path(); 将请求地址写入$_GET['q'].
     当你在"配置->简洁链接"中启用"启用简洁URL".类似 example.com/user 的链接地址替换类似 example.com/?q=user 的使用。在URI地址中使用"&","%"需要经过加密.
 
     drupal_settings_initialize           配置初始化
     其中,include_once DRUPAL_ROOT . '/' . conf_path() . '/settings.php'; 载入指定的配置文件.
     conf_path会找到sites下的sites.php文件,取出多站点配置数组.如查没有,就返回"sites/default"
     可以在一个站地目录下,配置子站点
 
3 , PAGE_CACHE
     如果在setting.php设置了缓存,就读取缓存.如果没有,就先执行 DRUPAL_BOOTSTRAP_VARIABLES.
 
4 , DATABASE
 
 
5 , VARIABLES
     其中,require_once DRUPAL_ROOT . '/' . variable_get('lock_inc', 'includes/lock.inc');
     用于跨请求协调的要求长期运行的操作.
页: [1]
查看完整版本: drupal 启动过程