-1

我编写了一个小型 codeigniter 测试应用程序,目前正在我的 Windows 机器上运行。我创建了一个 linux vm 并尝试在这个新的虚拟服务器上安装该应用程序。我的一些网络应用程序运行正常,但其他部分没有。具体来说,这有效:

 http://123.123.123.123/myapp/controller1/

但这不会:

 http://123.123.123.123/myapp/controller2/mymethod/1/2/3

它失败并显示无法加载 controller2_model 的错误。

这是失败的控制器的实际代码(它实际上称为 xferLogger 与 controller2):

 class xferLogger extends CI_Controller { 
      public function __construct() { 
              parent::__construct();
              echo(2); 
              $this->load->model('xferLogger_model'); 
              $this->load->helper('date'); //this library is needed for the base_url() method that is being called in the view "result.php" 
              $this->load->helper('url'); 
      } 

这是模型:

class xferLogger_model extends CI_Model { 
    public function __construct() { 
              $this->load->database();
                } 

完整的错误消息是:遇到错误。无法找到您指定的模型:xferlogger_model。

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

??

4

1 回答 1

0

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

class Xferlogger_model extends CI_Model // First letter capitalised

和你的模型负载

$this->load->model('xferlogger_model');  // lower case

和你的 PHP 文件名

xferlogger_model.php    // lower case

Codeigniter 模型用户指南

于 2012-05-24T18:51:35.810 回答