2017-09-27 65 views
0

我只使用codeigniter for api。codeigniter性能控制器CI_Controller

我分析了服务器上的访问日志 平均可以接听电话约5秒 并且发帖通话也平均需要5秒。

在system \ core \ Controller.php中有一个名为CI_Controller的类 ,并且在构造函数的下面一行中花费4秒。

这个问题只是在我把所有的codeigniter代码移到新的服务器上, 在旧的服务器上平均需要不到1秒。

我想解决这个问题。 任何想法,将不胜感激。

+0

CI是最快的框架存在的一个 - 所以没有人能告诉你你的职责范围内做的事情 - 也许UR与Ajax调用组合使用的会议也许不会 - 不过你必须提供比这更多的信息.​​..... – sintakonte

+0

系统\ core \ Controller.php的CI_Controller没有问题。 codeigniter的每个控制器扩展了这个类的CI_Controller,所以这个类将在每个控制器中被调用,这可能会显示它的占用时间。但间接地,它正在由你的控制器调用,这需要花费时间。 – BSB

回答

0

笨控制器的样子:

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 

class Customname extends CI_Controller { 
    public function __construct() 
    { 
     parent::__construct(); 
    } 
} 

这意味着你的Customname控制器扩展名为是CI_Controller核心框架类system\core\Controller.php,它会调用parent::__construct();这不过是构建核心是CI_Controller的。

所以你的自定义代码或功能正在影响它。可能有以下几种原因:

  • 检查自动加载库和帮助程序。
  • 检查是否在控制器功能之前调用任何挂钩。如果与会话存在
  • 检查问题等等