我有一个CodeIgniter项目,当我在本地机器上工作时,一切都很好。 当我将项目上传到服务器时,突然控制器停止工作,除了默认控制器。我已经烧了几个小时搜索问题,发现我的控制器和模型不起作用,因为他们的文件名不是大写字母。
示例:
controllers/test.php - does not works
controllers/Test.php - works
模型也一样,我认为这是apache的配置问题。
我有:
Ubuntu 14.04
Server version: Apache/2.4.7 (Ubuntu)
PHP 5.5.9-1ubuntu4.3 (cli) (built: Jul 7 2014 16:36:58)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
有什么想法吗?
答案 0 :(得分:1)
这不是配置问题。它根本不是问题 - 只是大多数Linux文件系统的工作方式。
在Windows下,根据安装时配置,在Mac OSX上,“test.php”和“#”之间没有区别。和' Test.php' - 它是同一个文件。 另一方面,对于UNIX风格的文件系统,您可以两者' test.php'和' Test.php'在同一目录中。
过去,它可能已经在CentOS和Debian下为您工作了,但那是因为您使用过旧版本的CodeIgniter,它曾用于查找全小写文件名。
您现在使用的CodeIgniter 3.0-dev要求所有类文件名都以大写字母开头。升级说明中对此进行了解释。