thinkphp无法加载模块解决办法

前台入口文件index.php

<?php
//前台入口
define(‘THINKPHP_PATH‘, ‘../ThinkPHP/‘);//底层的位置
define(‘APP_PATH‘, ‘./home/‘);//定义项目位置
define(‘APP_DEBUG‘, true);//定义DEBUG开关
require_once THINKPHP_PATH.‘ThinkPHP.php‘;
//echo ‘hellow‘;

?>

配置文件:

1 <?php
2 return array(
3     //‘配置项‘=>‘配置值‘
4      ‘DEFAULT_C_LAYER‘       =>  ‘Controller‘, // 默认的控制器层名称
5      ‘URL_MODEL‘             =>  1,       // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
6 );
7 ?>

Controller下的IndexController.class.php文件:

1 <?php
2 namespace Home\Controller;
3 use Think\Controller;
4 class IndexController extends Controller {
5     public function index(){
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 use Think\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

thinkphp无法加载模块解决办法

时间: 2024-10-17 23:08:49

thinkphp无法加载模块解决办法的相关文章

iview Table组件使用过滤器时无法加载表头解决办法

title: iview Table组件使用过滤器时无法加载表头解决办法 date: 2018-10-01 15:08:50 tags: JavaScript 前端 vue iview 所遇到的问题 使用iview搭建社团用人员管理时,Table组件的columns中filters属性设置为Vue data 中的另一个对象 如下: data() { groupFilter: [], memberCol: [ { title: "组别", render: (h, params) =>

IIS无法加载 DLL解决办法

IIS提示 无法加载 DLL“OraOps12.dll”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E). 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.DllNotFoundException: 无法加载 DLL“OraOps12.dll”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E). 解决办法: 1. 复制相关dll到bin

SDWebImage在UITableView部分CELL图片无法加载的解决办法

开始在cell中是使用这个函数来加载图片的. [self.photoView sd_setImageWithURL:[NSURL URLWithString: [post objectForKey: @"thumb_url"]] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {...} 非常简洁的API,好舒服.但是在tableview第一次加载数据的时候

js懒加载异步操作解决办法

ajax分页请求后台数据事先定义一个number var number = 0; var getBonusPointsList = function(id,num,key,sign){ var data2 = { userId:id, number:num, accessKeyId:key, sign:sign }; data2 = JSON.stringify(data2); $.ajax({ url:'http://192.168.1.161:8080/user/getBonusPoints

VirtualBox 下USB 设备加载的步骤及无法加载的解决办法

1. 将u盘插入电脑,在windows能够识别后,进入VirtualBox的选定要加载的虚拟机,选择设置——>选择usb设备项 2. 选择右边的第一或者是第二个图标,增加一个新的筛选器,第一个图标是增加一个空的筛选器,能够加载任何的usb设备.第二图标是加载host中usb列表的设备. 3. 增加筛选器后,通过windows的安全删除硬件方式卸载usb. 4. 启动 guest,进入ubuntu,此时应该会提示windows发现了virtual box usb驱动,指定驱动为virtual bo

ie11无法加载iframe解决办法

<iframe id="iii"></iframe>在标签上直接添加src可能出现加载不了的情况所以要在js里面添加方法 jquery: $(function(){ $('#iii').attr('src','http://www.baidu.com'); }) js: window.onload=function(){ document.getElementById("iii").src='http://www.baidu.com'; }

VS2017 web项目加载失败解决办法

Web 应用程序项目 XXWeb 已配置为使用 IIS. 未能找到 Web 服务器“########” 搜索UseIIS节点,如果有则把值改为false 如果没有该节点则搜索WebProjectProperties节点并在该节点下手动添加UseIIS节点并设置值为false,并且修改<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>节点的值为false然后右键web项目重新加载即可. 原文地址:htt

Windows 8.1 文件资源管理器 打开文件夹缓慢,显示文件夹为空,进度条一直加载的解决办法

背景 刚安装了系统,然后进行了Windows Update更新,安装常用软件.发现Windows文件管理器打开文件夹变慢,图标变白,一直加载文件夹内容等问题.各种尝试,终于解决了这个问题. 原因 在我遇到的问题中,发现Windows Search服务是处于关闭状态的.尝试手动打开时,弹出错误窗口,提示无法打开,提示内容为 “无法找到元素”.问题就出在Windows Search服务无法打开.这样Windows是无法正常创建文件索引的.所以出现了打开文件夹缓慢的情况. 解决 在网上查找资料后,找到

在pycharm中django无法加载的解决办法

%E4%BF%AE%E6%94%B9crontab%E9%BB%98%E8%AE%A4%E7%BC%96%E8%BE%91%E5%99%A8%E4%B8%BAvim http://index.ttplayer.com/songlist/502578134 http://zhangmen.baidu.cn/songlist/502450573 http://zhangmen.baidu.cn/songlist/502370860 http://index.ttplayer.com/songlist