2

非常令人沮丧 - 当我在本地开发时,一切都很完美。然后我第一次开始在我的主机 (GoDaddy) 上进行测试,我收到错误 Fatal error: Class 'MY_Model' not found in /home/content/49/12220009/html/application/models/user_model.php 第 3 行

代码非常基本 -

用户模型.php

class User_model extends MY_Model {

protected  $_table;

public function __construct() {
    parent::__construct();
    $this->_table = "user";
}

MY_Model.php(应用程序/核心/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');

关于为什么这会在本地工作但不能在我的主机上工作的任何想法,或者换句话说如何解决它?

4

3 回答 3

0

这绝对是一个区分大小写的问题;你应该做的是按照这两个步骤

1.遵循这些约定,一切顺利

 class Model_name extends CI_Model 

Model_name是您的类的名称...类名称的第一个字母必须大写,其余名称小写

然后文件名应该像这样小写

 application/models/model_name.php
于 2013-06-16T10:35:00.313 回答
0

这也发生在我身上:
在 Linux 系统上,它显示您指定的错误,而在窗口上它很好。
这是因为 Linux 是区分大小写的。我做了什么?;

我将文件从 重命名/core/MY_model/core/MY_Model.

然后,它解决了我的问题。

于 2015-10-09T05:57:20.827 回答
0

CodeIgniter 3 解决方案

类名和类文件名必须有一个大写的第一个字符

从 CodeIgniter 3.0 开始,所有类文件名(库、驱动程序、控制器和模型)必须以类似 Ucfirst 的方式命名,或者换句话说 - 它们必须以大写字母开头。

例如,如果您有以下库文件:

application/libraries/mylibrary.php

…然后你必须将它重命名为:

application/libraries/Mylibrary.php
于 2019-11-23T17:03:39.140 回答