0
我有一个CodeIgniter项目,我想通过CLI调用我的一个控制器方法,但正常属性&连接到CI超级对象的方法似乎丢失了?通过CLI运行CodeIgniter脚本 - 缺失CI超级对象方法
例如,运行运行在正常的HTTP请求时完全没有下面的脚本产生一个错误:
class Worker extends MY_Controller {
public function __construct() {
if(php_sapi_name() !== 'cli') {
show_404();
}
}
public function test(){
$this->load->library('some_library');
}
}
这是威盛的CLI
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message: Trying to get property of non-object</p>
<p>Filename: controllers/worker.php</p>
<p>Line Number: 21</p>
</div>PHP Fatal error: Call to a member function library() on a non-object in /Users/casey/Documents/workspaces/vibecompass_live/application/controllers/worker.php on line 21
Fatal error: Call to a member function library() on a non-object in /Users/casey/Documents/workspaces/vibecompass_live/application/controllers/worker.php on line 21
我返回的错误这样调用脚本: $ php index.php工人测试
编辑
此外,此脚本:
class Worker extends MY_Controller {
public function __construct() {
if(php_sapi_name() !== 'cli') {
show_404();
}
}
public function test(){
$CI =& get_instance();
var_dump($CI); die();
$this->load->library('some_library');
}
}
返回:NULL
我想拍我自己。谢谢。类似的问题,我只是没有想到。 – MikeMurko