我有一個CI_Model
,它有一個名爲Xray
的類。我有一個名爲Pages
的控制器類,它處理應用程序中的所有頁面。其中一頁稱爲worker.php
。我通過CLI使用Supervisord
執行worker.php
。從CLI執行的PHP文件訪問CodeIgniter類
我希望能夠從worker.php
訪問Xray
的功能,但不能通過命令行(我不會使用命令行worker.php
之後執行)。
我有一個CI_Model
,它有一個名爲Xray
的類。我有一個名爲Pages
的控制器類,它處理應用程序中的所有頁面。其中一頁稱爲worker.php
。我通過CLI使用Supervisord
執行worker.php
。從CLI執行的PHP文件訪問CodeIgniter類
我希望能夠從worker.php
訪問Xray
的功能,但不能通過命令行(我不會使用命令行worker.php
之後執行)。
這裏是外部加載的需要包括在腳本笨功能的代碼:
ob_start();
include('/path/to/your/index.php');
ob_end_clean();
$ci =& get_instance();
$ci->load->model('xray');
所以問題是沒有CI
實例,因此什麼也不會加載。
負載X-光無論是作爲模型或庫,取其更合適的,以及訪問通常
class Pages extends CI_Controller {
function worker()
{
$this->load->library('Xray');
echo $this->xray->my_func();
}
}
我可以從瀏覽器訪問worker.php文件並訪問任何CI相關的東西,但是當它從CLI執行時,我得到的錯誤如'PHP致命錯誤:使用$ this而不是對象context'。那麼有什麼不同呢?這就像worker.php與其他所有東西都是分開的,因爲它是如何加載的。 –
你將不得不張貼一些代碼 - 我們不可能告訴 – jmadsen
「正常頁」兩者是指一個控制器類? Xray是否是「Xray_model」?你的語言有點不清楚 - 你能解釋一下你的結構嗎? – jmadsen
我澄清了我的意圖更多 –