(我的英语不正确)
请,我在本地井的codeigniter中使用HMVC,但在我的远程服务器中,出现错误
遇到未捕获的异常类型:RuntimeException
消息:无法找到您指定的模型:Home_model
文件名:/home/mysite/public_html/system/core/Loader.php
行号:344
回溯:
文件:/home/mysite/public_html/application/third_party/MX/Loader.php行:213功能:型号
文件:/home/mysite/public_html/application/modules/home/controllers/Home.php行:143功能:型号
文件:/home/mysite/public_html/application/modules/home/controllers/Home.php行:92功能:_insert
文件:/home/mysite/public_html/index.php行:315功能:require_once
遇到PHP错误严重性:核心警告
消息:模块'mysql'已经加载
文件名:未知
行号:0
回溯:
我的文件看起来像:
- >模块
--->首页
--------->控制器
--------------> Home.php
--------->模型
--------------> home_model.php
--------->的意见
--------------> contact.php
当我将模型文件更改为“Home_model.php”时,我遇到了这个新错误
严重性:注意
消息:未定义属性:CI :: $ db
文件名:core / Model.php
行号:77
回溯:
文件:/home/mysite/public_html/application/modules/home/models/Home_model.php行:44功能:__ get
文件:/home/mysite/public_html/application/modules/home/controllers/Home.php行:144功能:_insert
文件:/home/mysite/public_html/application/modules/home/controllers/Home.php行:92功能:_insert
文件:/home/mysite/public_html/index.php行:315功能:require_once
致命错误:在第44行的/home/mysite/public_html/application/modules/home/models/Home_model.php中调用null上的成员函数insert()遇到PHP错误严重性:警告
消息:无法修改标头信息 - 已经发送的标头(输出从/home/mysite/public_html/system/core/Exceptions.php:271开始)
文件名:core / Common.php
行号:564
回溯:
遇到PHP错误严重性:错误
消息:在null上调用成员函数insert()
文件名:models / Home_model.php
行号:44
回溯:
我用过这个HMVC https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
我认为问题是当我尝试使用数据库时,但我不知道在哪里。
您需要加载数据库。
class Home_model extends CI_Model {
public function __construct() {
parent::__construct();
$this->load->database();
}
}
要么
$this->load->model('home_model', NULL, TRUE);
*第三个参数在模型中为您加载数据库
模型应该是UCfirst,并且从您显示的文件结构看起来不是。
因此,而不是home_model.php将其更改为Home_model.php。
您想要的类声明也是如此:
class Home_model extends CI_model
并不是:
class home_model extends CI_model
我假设您的本地环境是Windows和浏览远程一个是Linux,这就是为什么会发生这种情况,因为Linux区分大小写,Windows不是。
因此,要真正好好看看他们应该遵循这种模式的所有类(模型和控制器)。