非常令人沮丧 - 当我在本地开发时,一切都很完美。然后我第一次开始在我的主机(GoDaddy)上进行测试,我得到了错误 致命错误:第3行/home/content/49/12220009/html/application/models/user_model.php中找不到“MY_Model”类
代码非常基本 -
User_model.php
class User_model extends MY_Model {
protected $_table;
public function __construct() {
parent::__construct();
$this->_table = "user";
}
MY_Model.php(application / core / My_Model.php)
class MY_Model extends CI_Model
{
public function __construct() {
echo "in my model ctor";
parent::__construct();
}
这一切都始于控制器按预期加载User_model -
$this->load->model('user_model');
为什么会在本地工作但不在我的主机上工作,或者换句话说如何解决呢?
答案 0 :(得分:0)
这绝对是一个区分大小写的问题;你应该做的是遵循这两个步骤
1.遵循这些惯例,你很高兴
class Model_name extends CI_Model
Model_name 是您的类的名称...类名必须首字母大写,其余名称小写
然后文件名应为小写,如下所示
application/models/model_name.php
答案 1 :(得分:0)
这也发生在我身上:
在Linux系统上,它显示您在窗口上指定的错误它很好。
这是因为Linux 区分大小写 。
我做了什么?;
我将文件从
/core/MY_model
重命名为/core/MY_Model
。
然后它解决了我的问题。
答案 2 :(得分:0)
CodeIgniter 3解决方案
类名和类文件名必须具有大写首字母。
从CodeIgniter 3.0开始,所有类文件名(库, 驱动程序,控制器和模型)必须使用类似Ucfirst的名称 方式或换句话说-它们必须以大写字母开头。
例如,如果您具有以下库文件:
application/libraries/mylibrary.php
…然后您必须将其重命名为:
application/libraries/Mylibrary.php