在 alpine linux 上使用 Apache 的 PHP Codeigniter

标签 php linux apache codeigniter alpine-linux

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

 http://123.123.123.123/myapp/controller1/

但这不是:

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

它失败并出现无法加载controller2_model的错误。

这是发生故障的 Controller 的实际代码(它实际上称为 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。

这是我注意到的事情。在错误消息中,您会注意到记录器中的“L”是小写的。但在我的代码中,它是大写的 L。 我已经检查了我的 Controller 、模型本身以及routes.php 文件。我似乎没有发现我的外壳有任何问题。

??

最佳答案

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

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

关于在 alpine linux 上使用 Apache 的 PHP Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741010/

相关文章:

php - 如何/在哪里将参数从 View 传递到 CodeIgniter 中的 Controller ?

linux - Linux 上的 EGL 支持

linux - 清除文件而不更改其时间戳

linux - Apache 监听所有域

php - 如何将 session 保存到 mysql 中?

php - 从 RabbitMQ 队列中检索消息

memory-leaks - PHP-FPM占用太多内存

linux - 'ln' 或 'ln -s' 的用法或应用场景是什么?

php - 环境变量不会从 .htaccess 传递到 PHP

java - Apache POI for excel 获取依赖单元格