一个基于CodeIgniter框架的程序从windows上搬到linux上出错“Fatal error: Class ‘xxx_Controller’ not found in”

错误信息

Fatal error: Class 'xxx_Controller' not found in /xxxxx/controllers/install.php on line 3

检查
app/core下面有自定义的文件啊Msvod_Controller.php
查看xxxxx/controllers/install.php里的代码

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Install extends msvod_Controller {

        function __construct(){
                    parent::__construct();

看上去也没什么问题啊……于是把

class Install extends msvod_Controller {
修改成
class Install extends CI_Controller {

程序正常了,可是这套程序在win服务器上运行的好好的,为什么搬到linux下就提示找不到类了呢,我总不能把里面全部的继承msvod_Controller全部改成CI_Controller吧?
蛋疼了一天多还是不知怎么搞,主要也是不懂CI框架。
没事又打开代码,突然脑子里灵光一闪。。貌似自定义文件名Msvod_Controller.php和类名msvod_Controller大小写不一样??
于是把文件名改成小写,刷新下页面,竟然正常了……
好吧,原来是文件名复制到windows上的时候变成大写的了……而linux是区分大小写的,或者ci框架是区分大小写的。。

参考http://www.jb51.net/article/78324.htm
http://xiangzhanyou.com/?id=30

上一篇
下一篇