今天把一个codeigniter程序部署到linux(centos)下的nginx的时候出现了
Unable to locate the model you have specified:*_model 这个问题.
顺手粘贴到网上搜索了一下,这是由于大小写问题引起的。
在codeigniter3.0中,model文件名的首字母必须大写,如 User_model.php
,在这个文件中,书写规则如下:
1 2 3 4 5 6 7 8 9 10 11
| class User_model extends CI_Model{ public function adminValid(){ $user = $this->session->userdata('user_name'); if (empty($user)) { $url = site_url('login/index'); echo "<script>window.location='$url';</script>"; } } }
|
在controller
中,使用如下:
1 2 3 4 5 6 7 8 9
| public function __construct(){ parent::__construct(); error_reporting(E_ALL ^E_NOTICE); $this->load->model('user_model','user'); $this->user->adminValid(); }
|
这个规则是必须遵守的,在Windows下无所谓,但是在Linux下就会出问题。