2013-02-07 30 views
0

我有一個CI_Model,它有一個名爲Xray的類。我有一個名爲Pages的控制器類,它處理應用程序中的所有頁面。其中一頁稱爲worker.php。我通過CLI使用Supervisord執行worker.php從CLI執行的PHP文件訪問CodeIgniter類

我希望能夠從worker.php訪問Xray的功能,但不能通過命令行(我不會使用命令行worker.php之後執行)。

+1

「正常頁」兩者是指一個控制器類? Xray是否是「Xray_model」?你的語言有點不清楚 - 你能解釋一下你的結構嗎? – jmadsen

+0

我澄清了我的意圖更多 –

回答

0

這裏是外部加載的需要包括在腳本笨功能的代碼:

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

$ci =& get_instance(); 
$ci->load->model('xray'); 

所以問題是沒有CI實例,因此什麼也不會加載。

Ellislabs Forums

1

負載X-光無論是作爲模型或庫,取其更合適的,以及訪問通常

class Pages extends CI_Controller { 

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

} 
+0

我可以從瀏覽器訪問worker.php文件並訪問任何CI相關的東西,但是當它從CLI執行時,我得到的錯誤如'PHP致命錯誤:使用$ this而不是對象context'。那麼有什麼不同呢?這就像worker.php與其他所有東西都是分開的,因爲它是如何加載的。 –

+0

你將不得不張貼一些代碼 - 我們不可能告訴 – jmadsen