分享下ThinkPHP惯例配置文件,ThinkPHP各个属性配置。
ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置。有详细注释,代码如下:

  1. <?php

  2. /**

  3. +------------------------------------------------------------------------------

  4. * ThinkPHP惯例配置文件

  5. * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项

  6. * 配置名称大小写任意,系统会统一转换成小写

  7. * 所有配置参数都可以在生效前动态改变

  8. +------------------------------------------------------------------------------

  9. * @category Think

  10. * @package Common

  11. * @version $Id$

  12. +------------------------------------------------------------------------------

  13. */

  14. if (!defined('THINK_PATH')) exit();

  15. return array(



  16. /* 项目设定 */

  17. 'APP_DEBUG' => false, // 是否开启调试模式

  18. 'APP_DOMAIN_DEPLOY' => false, // 是否使用独立域名部署项目

  19. 'APP_PLUGIN_ON' => false, // 是否开启插件机制

  20. 'APP_FILE_CASE' => false, // 是否检查文件的大小写 对Windows平台有效

  21. 'APP_GROUP_DEPR' => '.', // 模块分组之间的分割符

  22. 'APP_GROUP_LIST' => '', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'

  23. 'APP_AUTOLOAD_REG' => false, // 是否开启SPL_AUTOLOAD_REGISTER

  24. 'APP_AUTOLOAD_PATH' => 'Think.Util.',// __autoLoad 机制额外检测路径设置,注意搜索顺序

  25. 'APP_CONFIG_LIST' => array('taglibs','routes','tags','htmls','modules','actions'),// 项目额外需要加载的配置列表,默认包括:taglibs(标签库定义),routes(路由定义),tags(标签定义),(htmls)静态缓存定义, modules(扩展模块),actions(扩展操作)



  26. /* Cookie设置 */

  27. 'COOKIE_EXPIRE' => 3600, // Coodie有效期

  28. 'COOKIE_DOMAIN' => '', // Cookie有效域名

  29. 'COOKIE_PATH' => '/', // Cookie路径

  30. 'COOKIE_PREFIX' => '', // Cookie前缀 避免冲突



  31. /* 默认设定 */

  32. 'DEFAULT_APP' => '@', // 默认项目名称,@表示当前项目

  33. 'DEFAULT_GROUP' => 'Home', // 默认分组

  34. 'DEFAULT_MODULE' => 'Index', // 默认模块名称

  35. 'DEFAULT_ACTION' => 'index', // 默认操作名称

  36. 'DEFAULT_CHARSET' => 'utf-8', // 默认输出编码

  37. 'DEFAULT_TIMEZONE' => 'PRC', // 默认时区

  38. 'DEFAULT_AJAX_RETURN' => 'JSON', // 默认AJAX 数据返回格式,可选JSON XML ...

  39. 'DEFAULT_THEME' => 'default', // 默认模板主题名称

  40. 'DEFAULT_LANG' => 'zh-cn', // 默认语言


  41. /* 数据库设置 */

  42. 'DB_TYPE' => 'mysql', // 数据库类型

  43. 'DB_HOST' => 'localhost', // 服务器地址

  44. 'DB_NAME' => '', // 数据库名

  45. 'DB_USER' => 'root', // 用户名

  46. 'DB_PWD' => '', // 密码

  47. 'DB_PORT' => 3306, // 端口

  48. 'DB_PREFIX' => 'think_', // 数据库表前缀

  49. 'DB_SUFFIX' => '', // 数据库表后缀

  50. 'DB_FIELDTYPE_CHECK' => false, // 是否进行字段类型检查

  51. 'DB_FIELDS_CACHE' => true, // 启用字段缓存

  52. 'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8

  53. 'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)

  54. 'DB_RW_SEPARATE' => false, // 数据库读写是否分离 主从式有效


  55. /* 数据缓存设置 */

  56. 'DATA_CACHE_TIME' => -1, // 数据缓存有效期

  57. 'DATA_CACHE_COMPRESS' => false, // 数据缓存是否压缩缓存

  58. 'DATA_CACHE_CHECK' => false, // 数据缓存是否校验缓存

  59. 'DATA_CACHE_TYPE' => 'File', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite| Xcache|Apachenote|Eaccelerator

  60. 'DATA_CACHE_PATH' => TEMP_PATH,// 缓存路径设置 (仅对File方式缓存有效)

  61. 'DATA_CACHE_SUBDIR' => false, // 使用子目录缓存 (自动根据缓存标识的哈希创建子目录)

  62. 'DATA_PATH_LEVEL' => 1, // 子目录缓存级别



  63. /* 错误设置 */

  64. 'ERROR_MESSAGE' => '您浏览的页面暂时发生了错误!请稍后再试~',//错误显示信息,非调试模式有效

  65. 'ERROR_PAGE' => '', // 错误定向页面


  66. /* 静态缓存设置 */

  67. 'HTML_CACHE_ON' => false, // 默认关闭静态缓存

  68. 'HTML_CACHE_TIME' => 60, // 静态缓存有效期

  69. 'HTML_READ_TYPE' => 0, // 静态缓存读取方式 0 readfile 1 redirect

  70. 'HTML_FILE_SUFFIX' => '.shtml',// 默认静态文件后缀


  71. /* 语言设置 */

  72. 'LANG_SWITCH_ON' => false, // 默认关闭多语言包功能

  73. 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效


  74. /* 日志设置 */

  75. 'LOG_RECORD' => false, // 默认不记录日志

  76. 'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制

  77. 'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR'),// 允许记录的日志级别


  78. /* 分页设置 */

  79. 'PAGE_ROLLPAGE' => 5, // 分页显示页数

  80. 'PAGE_LISTROWS' => 20, // 分页每页显示记录数


  81. /* SESSION设置 */

  82. 'SESSION_AUTO_START' => true, // 是否自动开启Session

  83. // 内置SESSION类可用参数

  84. //'SESSION_NAME' => '', // Session名称

  85. //'SESSION_PATH' => '', // Session保存路径

  86. //'SESSION_CALLBACK' => '', // Session 对象反序列化时候的回调函数


  87. /* 运行时间设置 */

  88. 'SHOW_RUN_TIME' => false, // 运行时间显示

  89. 'SHOW_ADV_TIME' => false, // 显示详细的运行时间

  90. 'SHOW_DB_TIMES' => false, // 显示数据库查询和写入次数

  91. 'SHOW_CACHE_TIMES' => false, // 显示缓存操作次数

  92. 'SHOW_USE_MEM' => false, // 显示内存开销

  93. 'SHOW_PAGE_TRACE' => false, // 显示页面Trace信息 由Trace文件定义和Action操作赋值

  94. 'SHOW_ERROR_MSG' => true, // 显示错误信息


  95. /* 模板引擎设置 */

  96. 'TMPL_ENGINE_TYPE' => 'Think', // 默认模板引擎 以下设置仅对使用Think模板引擎有效

  97. 'TMPL_DETECT_THEME' => false, // 自动侦测模板主题

  98. 'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀

  99. 'TMPL_CACHFILE_SUFFIX' => '.php', // 默认模板缓存后缀

  100. 'TMPL_DENY_FUNC_LIST' => 'echo,exit', // 模板引擎禁用函数

  101. 'TMPL_PARSE_STRING' => '', // 模板引擎要自动替换的字符串,必须是数组形式。

  102. 'TMPL_L_DELIM' => '{', // 模板引擎普通标签开始标记

  103. 'TMPL_R_DELIM' => '}', // 模板引擎普通标签结束标记

  104. 'TMPL_VAR_IDENTIFY' => 'array', // 模板变量识别。留空自动判断,参数为'obj'则表示对象

  105. 'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行

  106. 'TMPL_CACHE_ON' => true, // 是否开启模板编译缓存,设为false则每次都会重新编译

  107. 'TMPL_CACHE_TIME' => -1, // 模板缓存有效期 -1 为永久,(以数字为值,单位:秒)

  108. 'TMPL_ACTION_ERROR' => 'Public:success', // 默认错误跳转对应的模板文件

  109. 'TMPL_ACTION_SUCCESS' => 'Public:success', // 默认成功跳转对应的模板文件

  110. 'TMPL_TRACE_FILE' => THINK_PATH.'/Tpl/PageTrace.tpl.php', // 页面Trace的模板文件

  111. 'TMPL_EXCEPTION_FILE' => THINK_PATH.'/Tpl/ThinkException.tpl.php',// 异常页面的模板文件

  112. 'TMPL_FILE_DEPR'=>'/', //模板文件MODULE_NAME与ACTION_NAME之间的分割符,只对项目分组部署有效

  113. // Think模板引擎标签库相关设定

  114. 'TAGLIB_BEGIN' => '<', // 标签库标签开始标记

  115. 'TAGLIB_END' => '>', // 标签库标签结束标记

  116. 'TAGLIB_LOAD' => true, // 是否使用内置标签库之外的其它标签库,默认自动检测

  117. 'TAGLIB_BUILD_IN' => 'cx', // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔

  118. 'TAGLIB_PRE_LOAD' => '', // 需要额外加载的标签库(须指定标签库名称),多个以逗号分隔

  119. 'TAG_NESTED_LEVEL' => 3, // 标签嵌套级别

  120. 'TAG_EXTEND_PARSE' => '', // 指定对普通标签进行扩展定义和解析的函数名称。


  121. /* 表单令牌验证 */ (脚本学堂 www.jbxue.com 编辑整理)

  122. 'TOKEN_ON' => true, // 开启令牌验证

  123. 'TOKEN_NAME' => '__hash__', // 令牌验证的表单隐藏字段名称

  124. 'TOKEN_TYPE' => 'md5', // 令牌验证哈希规则


  125. /* URL设置 */

  126. 'URL_CASE_INSENSITIVE' => false, // URL地址是否不区分大小写

  127. 'URL_ROUTER_ON' => false, // 是否开启URL路由

  128. 'URL_DISPATCH_ON' => true, // 是否启用Dispatcher

  129. 'URL_MODEL' => 1, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:

  130. // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 当URL_DISPATCH_ON开启后有效; 默认为PATHINFO 模式,提供最好的用户体验和SEO支持

  131. 'URL_PATHINFO_MODEL' => 2, // PATHINFO 模式,使用数字1、2、3代表以下三种模式:

  132. // 1 普通模式(参数没有顺序,例如/m/module/a/action/id/1);

  133. // 2 智能模式(系统默认使用的模式,可自动识别模块和操作/module/action/id/1/ 或者 /module,action,id,1/...);

  134. // 3 兼容模式(通过一个GET变量将PATHINFO传递给dispather,默认为s index.php?s=/module/action/id/1)

  135. 'URL_PATHINFO_DEPR' => '/', // PATHINFO模式下,各参数之间的分割符号

  136. 'URL_HTML_SUFFIX' => '', // URL伪静态后缀设置


  137. /* 系统变量名称设置 */

  138. 'VAR_GROUP' => 'g', // 默认分组获取变量

  139. 'VAR_MODULE' => 'm', // 默认模块获取变量

  140. 'VAR_ACTION' => 'a', // 默认操作获取变量

  141. 'VAR_ROUTER' => 'r', // 默认路由获取变量

  142. 'VAR_PAGE' => 'p', // 默认分页跳转变量

  143. 'VAR_TEMPLATE' => 't', // 默认模板切换变量

  144. 'VAR_LANGUAGE' => 'l', // 默认语言切换变量

  145. 'VAR_AJAX_SUBMIT' => 'ajax', // 默认的AJAX提交变量

  146. 'VAR_PATHINFO' => 's', // PATHINFO 兼容模式获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_MODEL 和 URL_PATHINFO_DEPR


  147. );