php框架thinkphp3.2.3 配置文件bug
bug:有前后台的项目部署阶段(DEBUG模式为false)中,修改应用配置文件后,无效,修改自定义配置文件,正常;(开发模式正常)
//项目只有后台没有前台的(单独模块),直接写在模块配置中即可,不需要按下面的方法写;
//应用配置(默认路径Application/Common/Conf/config.php)
版本:thinkphp3.2.3
应用配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改应用配置文件就不会立刻生效,需要删除编译缓存后才能生效。
扩展配置文件则不受此限制影响,即使在部署模式下面,修改配置后可以实时生效,并且配置格式和项目配置一样。
在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:
惯例配置->应用配置(common前后台共用的公共模块中的config.php)->模式配置->调试配置->状态配置->模块配置->扩展配置(自定义的配置文件)->动态配置
应用配置(默认路径Application/Common/Conf/config.php)
以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以配
置的优先顺序从右到左(加载的顺序相反)。
修改了系统源码可能会产生新的bug,所以
(不修改源码)的解决方法:
1.应用配置(默认路径Application/Common/Conf/config.php)中,只添加一行代码(自定义配置文件),其他不要写
// 加载多个扩展配置文件(逗号隔开),一定要写在一起,千万不要分开写
'LOAD_EXT_CONFIG' => 'user,db',
2.这样用户自定义的配置文件可以写在单独的配置文件中