【问题标题】:PHP Codeigniter with Apache on alpine linux在 alpine linux 上使用 Apache 的 PHP Codeigniter
【发布时间】:2012-05-24 15:54:22
【问题描述】:

我编写了一个小型 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 文件。我的外壳似乎没有任何问题。

??

【问题讨论】:

  • 显示完整的错误会很有帮助。
  • 另外,你确定你复制了所有内容,包括隐藏文件,如 .htaccess
  • Linux 是区分大小写的,这可能会弄乱你的应用程序。
  • 正如 SérgioMichels 已经提到的,在 linux(以及 IIRC,任何其他非 Windows 系统)上,文件/目录名称和 mysql 表名称都区分大小写。而且,“不起作用”不是有效的错误消息。
  • 完整的错误消息是:“遇到错误。无法找到您指定的模型:mycontroller2_model”。我已将所有内容都复制了一遍……我检查了与案件的差异……到目前为止还没有注意到任何事情。将继续检查。

标签: php linux apache codeigniter alpine


【解决方案1】:

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

class Xferlogger_model extends CI_Model // First letter capitalised

你的模型加载

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

和你的 PHP 文件名

xferlogger_model.php    // lower case

Codeigniter Model Userguide

【讨论】:

  • 这并没有解决我的问题。我检查了控制器、模型和路由,并且到处都用 Xferlogger 替换了 xferLogger。
  • 我已经改进了我的答案。您能否也使用此提供的更新代码和错误重新编辑您的原始问题?
  • 好的。因此,您将模型名称更改为全小写的最新建议确实有所作为。现在可以了。所以最重要的教训是让所有型号名称保持小写?
  • 很抱歉没有仔细阅读手册。这不是借口.. 但我正试图从 windows、wamp、mysql 转移到 linux、postgres、apache。和 codeigniter、linux 和 postgres 对我来说都是新的,所以我有点沉浸在文档中。感谢您的帮助。
猜你喜欢
  • 2018-03-25
  • 1970-01-01
  • 2012-04-15
  • 1970-01-01
  • 2013-10-26
  • 2019-06-09
  • 1970-01-01
  • 2022-12-10
  • 2016-09-27
相关资源
最近更新 更多