如何在 CodeIgniter 框架中连续 运行 控制器中的文件

How to run a file in controller continuously in CodeIgniter framework

我正在开发 CI 框架,我需要在控制器中连续 运行 一个文件来检查数据库中的数据。 我已经尝试过在 PHP 中每 2 秒刷新一次页面。但是每 2 秒加载整个页面似乎不是最好的方法。所以我试图通过 ajax 调用 运行 该文件。 通常在 php 我可以连续 运行 文件。我在这个框架中尝试了同样的方法,但是我收到了一些错误,比如 'Fatal error: Class 'CI_Controller' not found in system/expressionengine/controllers/popup.php 因为控制器中有 class。 有没有办法通过 AJAX 调用连续地 运行 控制器中的文件。

这是我的代码

<?php
class Popup extends CI_Controller 
{
 public function __construct()
 {
  parent::__construct();
  $this->load->model('popup_model');
 }
 public function popup1()
 {
  $page = $_SERVER['PHP_SELF'];
  $sec = "2";
  header("Refresh: $sec; url=$page");
  $data['popup'] = $this->popup_model->get_events();
  $data['title'] = 'Pop Up';
  if (empty($data['popup']))
  {
   
  }
  else
  {
   $this->load->view('popup/popup1',$data);
   $this->load->view('popup/eve',$data);
  }
}

}

编写一个 ajax 调用到一个函数中,并在文档中将该函数作为 setInterval(functionname, interval_delay);

传递给 javascript 函数

每 2 秒一个 AJAX 调用是不好的,可能会因请求太多而使您的服务器过载。还有其他替代方案,如 PHP Websockets 和 Node JS 来实现这一点。