alpine linux上带有Apache的PHP Codeigniter

alpine linux上带有Apache的PHP Codeigniter,php,linux,apache,codeigniter,alpine,Php,Linux,Apache,Codeigniter,Alpine,我已经编写了一个小的codeigniter测试应用程序,目前正在我的windows box上运行。 我创建了一个linux虚拟机,并尝试在这个新的虚拟服务器上安装该应用程序。 我的一些web应用程序运行正常,但其他部分没有。 具体而言,这项工作: http://123.123.123.123/myapp/controller1/ 但这并不是: http://123.123.123.123/myapp/controller2/mymethod/1/2/3 它失败,错误是无法加载contro

我已经编写了一个小的codeigniter测试应用程序,目前正在我的windows box上运行。 我创建了一个linux虚拟机,并尝试在这个新的虚拟服务器上安装该应用程序。 我的一些web应用程序运行正常,但其他部分没有。 具体而言,这项工作:

 http://123.123.123.123/myapp/controller1/
但这并不是:

 http://123.123.123.123/myapp/controller2/mymethod/1/2/3
它失败,错误是无法加载controller2_模型

以下是发生故障的控制器的实际代码(实际上称为xferLogger vs.controller2):

这是模型:

class xferLogger_model extends CI_Model { 
    public function __construct() { 
              $this->load->database();
                } 
完整的错误消息是:遇到错误。找不到指定的模型:xferlogger\u模型

我注意到了一件事。在错误消息中,您会注意到logger中的“L”是小写的。但在我的代码中,它是大写的L。 我已经签入了控制器、模型本身以及routes.php文件。我的肠衣似乎没有任何问题


??

来自《用户指南》:类名的第一个字母必须大写,其余部分必须小写。因此:

class Xferlogger_model extends CI_Model // First letter capitalised
和你的模型负载

$this->load->model('xferlogger_model');  // lower case
和您的PHP文件名

xferlogger_model.php    // lower case

显示完整错误会很有帮助。另外,您确定复制了所有内容,包括隐藏文件,如.htaccessLinux是区分大小写的,可能这会弄乱您的应用程序。正如SérgioMichels已经提到的,在linux(以及IIRC,任何其他非windows系统)上,文件/目录名和mysql表名都是区分大小写的。而且,“不工作”不是有效的错误消息。完整的错误消息是:“遇到错误。找不到您指定的模型:mycontroller2_model”。我把所有的东西都抄了一遍。。。我检查了与案件的不符之处。。到目前为止我还没注意到什么。将继续检查。这并没有解决我的问题。我检查了控制器、模型和路由,并用xferLogger everywhere替换了xferLogger。我改进了我的答案。您是否可以用更新后的代码和错误重新编辑您的原始问题?好的。因此,您最近提出的将模型名称更改为所有小写字母的建议确实起到了作用。它现在起作用了。因此,我们的外卖课程是让所有型号名称保持小写?我为没有仔细阅读手册而道歉。这不是借口。。但我正试图从windows、wamp、mysql迁移到linux、postgres和apache。codeigniter、linux和postgres对我来说都是新的,所以我有点被文档淹没了。谢谢你的帮助。
xferlogger_model.php    // lower case