【发布时间】:2015-08-05 21:30:18
【问题描述】:
我收到此错误:
Unable to locate the model you have specified: Users_model
CodeIgniter 是第 3 版。文件名为 Users_model.php。它位于application\models,它是这样的:
defined('BASEPATH') OR exit('No direct script access allowed');
class Users_model extends CI_Model {
public function __construct()
{
parent::__construct();
}
[...]
}
我从这样的控制器调用它:
$this->load->model('users_model');
有趣的是,它可以在本地 mongoose 服务器上运行,但在我将其部署到 heroku 服务器时却不行。
【问题讨论】:
-
试试大写。
$this->load->model('Users_model'); -
这在本地工作,包括大写和小写首字母。实际上我尝试了各种上下组合。但是没有一个适用于heroku,就像它真的找不到文件一样。
-
所有其他型号都工作正常吗?尝试自动加载此模型。并确保
User_model文件部署在 heroku 上。 -
伙计,3 天后终于弄明白了,哈哈。回答您的问题:没有其他模型,这是我尝试的第一个模型,是的,确实部署了 Users_model.php。但是为了确认它被部署了,我做了
heroku run bash并浏览到models目录,看到它被部署为users_model.php,而不是Users_model.php,因为我第一次部署时,它没有大写,git不是' t 更新文件名大小写更改。这就是为什么它可以在本地服务器上运行,但不能在 heroku 上运行。为了解决这个问题,我做了git config core.ignorecase false。谢谢@Kamran! -
太棒了 :) 有时小事会造成大问题。
标签: php codeigniter heroku