当前位置:首页 » ThinkPHP框架知识

thinkphp 无法加载模块

2014-02-17 16:35 本站整理 浏览(4480)

thinkphp 无法加载模块,有需要的朋友可以参考下。

有四种情况会出现此错误

1、URL中参数名中有m参数

如:

1、http://localhost/ThinkPHP_3.2/index.php?m=moduleName

2、http://localhost/ThinkPHP_3.2/index.php/a

3、http://localhost/ThinkPHP_3.2/a

2、配置文件设置DEFAULT_MODULE为空或false并且URL的m参数为空或者没有此参数 DEFAULT_MODULE默认为Home

3、模块名是Common或Runtime

4、没有Application/模块名 这个目录

下面是详细分析

if (MODULE_NAME && (!in_array_case(MODULE_NAME, C('MODULE_DENY_LIST')) || $domainModule ) && is_dir(APP_PATH . MODULE_NAME)) {
.....
}else {
    E(L('_MODULE_NOT_EXIST_') . ':' . MODULE_NAME);
}

1、MODULE_NAME

如果没有获取到MODULE_NAME 即DEFAULT_MODULE为空或false并且URL的m参数为空或者没有此参数

2、(!in_array_case(MODULE_NAME, C('MODULE_DENY_LIST')) || $domainModule )
模块名是Common或Runtime返回false 并且不是没有开启多级域名

3、is_dir(APP_PATH . MODULE_NAME)

判断模块目录是否存在