PHP从CLI执行的文件访问CodeIgniter类

PHP从CLI执行的文件访问CodeIgniter类,php,codeigniter,class,command-line-interface,Php,Codeigniter,Class,Command Line Interface,我有一个CI_模型,有一个名为Xray的类。我有一个名为Pages的控制器类,它处理应用程序中的所有页面。其中一个页面名为worker.php。我通过CLI使用Supervisord执行worker.php 我希望能够从worker.php访问Xray的函数,但不能通过命令行(在执行worker.php后,我不会使用命令行)。将Xray作为模型或库加载,以更合适的方式加载,并正常访问 class Pages extends CI_Controller { function worker

我有一个
CI_模型
,有一个名为
Xray
的类。我有一个名为
Pages
的控制器类,它处理应用程序中的所有页面。其中一个页面名为
worker.php
。我通过CLI使用
Supervisord
执行
worker.php


我希望能够从
worker.php
访问
Xray
的函数,但不能通过命令行(在执行
worker.php
后,我不会使用命令行)。

将Xray作为模型或库加载,以更合适的方式加载,并正常访问

class Pages extends CI_Controller {

    function worker()
    {
        $this->load->library('Xray');
        echo $this->xray->my_func();
    }

}

以下是在外部加载的脚本中包含CodeIgniter功能所需的代码:

ob_start();
include('/path/to/your/index.php');
ob_end_clean();

$ci =& get_instance();
$ci->load->model('xray');
所以问题是没有
CI
实例,因此不会加载任何内容


取自

问题是$此是当前的空

我只是先给父母打电话:

function __construct()
{
   parent::__construct();
}
如果您检查
父级
,您将看到
类CI_控制器
,从那里
函数uu construct()
将帮助您正确引导upp

现在您的
$this
是一个对象,您可以


$this->config->load()
$this->load->library('Xray')

一个“普通页面”是指一个控制器类?X射线是“X射线”模型吗?您的语言有点不清楚-您能解释一下您的结构吗?我进一步澄清了我的意图我可以从浏览器访问worker.php文件并访问任何与CI相关的内容,但是当它从CLI执行时,我会遇到类似
php致命错误:不在对象上下文中时使用$this
。那么有什么不同呢?这就像worker.php由于其加载方式而与其他所有内容分离一样。