为什么加载不了php模块,thinkphp无法加载模块解决办法

前台入口文件index.php

define(‘THINKPHP_PATH‘, ‘../ThinkPHP/‘);//底层的位置

define(‘APP_PATH‘, ‘./home/‘);//定义项目位置

define(‘APP_DEBUG‘, true);//定义DEBUG开关

require_once THINKPHP_PATH.‘ThinkPHP.php‘;//echo ‘hellow‘;

?>

配置文件:

1 <?php2 return array(3 //‘配置项‘=>‘配置值‘

4 ‘DEFAULT_C_LAYER‘ => ‘Controller‘, //默认的控制器层名称

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

6 );7 ?>

Controller下的IndexController.class.php文件:

1 <?php2 namespace Home\Controller;3 useThink\Controller;4 class IndexController extendsController {5 public functionindex(){6 echo "hello world";7 }8 }

浏览器调试结果:

这个路径http://localhost:8080/test/index.php是可以显示控制器方法中的欢迎信息的,

而http://localhost:8080/test/index.php/index和http://localhost:8080/test/index.php/index/index却提示了错误信息

:(

无法加载模块:Index

错误位置

FILE: C:\wamp\www\ThinkPHP\Library\Think\Dispatcher.class.php  LINE: 172

TRACE

#0 C:\wamp\www\ThinkPHP\Library\Think\Dispatcher.class.php(172): E(‘???????????????...‘)

#1 C:\wamp\www\ThinkPHP\Library\Think\App.class.php(36): Think\Dispatcher::dispatch()

#2 C:\wamp\www\ThinkPHP\Library\Think\App.class.php(184): Think\App::init()

#3 C:\wamp\www\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run()

#4 C:\wamp\www\ThinkPHP\ThinkPHP.php(96): Think\Think::start()

#5 C:\wamp\www\test\index.php(7): require_once(‘C:\wamp\www\Thi...‘)

#6 {main}

然后百度得知,开启了DEBUG调试模式后,控制器路径名要严格区分大小写。

顿悟,修改地址为:http://localhost:8080/test/index.php/Index和http://localhost:8080/test/Index.php/index均还是一样的问题。

遂查阅官方手册是可以修改不区分大小写的:

在配置文件中加上一句话:‘URL_CASE_INSENSITIVE‘  =>  true,   // 默认false 表示URL区分大小写 true则表示不区分大小写。

试了下,还是不行!

想了想,是不是Controller的问题,继续查阅手册。得知

自从3.2之后thinkphp默认的控制器不再使用Action,而是使用了更贴近MVC模式的Controller。

如果你原来习惯用了Action,还是可以吧Controller修改成Action的

可以这样定义:

1 namespace Home\Action;2 useThink\Action;3 class IndexAction extends Action{}

然后,在配置文件config.php中,设置:

1 ‘DEFAULT_C_LAYER‘=>‘Action‘

遂,把Controller修改成Action,还是一样的问题,我的天!

继续百度!

发现发现别人的目录结构和我的好像不一样!

仔细查看代码

1 define(‘APP_PATH‘, ‘./home/‘);//定义项目位置

发现3.1生成的home项目目录下并没有Home目录

而3.2生成的home项目目录却多了一层Home目录

因此我们在URL地址上必须加上Home目录,也就是:http://localhost:8080/test/index.php/Home/Index/index(文件入口[index.php]/Home[默认]/控制器名[Index]/方法名[index])

浏览器粘贴访问,终于显示出那诱人可爱的hellow world

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值