-1

致命错误:在非对象上调用成员函数 base_url()

当我从支付网关重定向到站点时出现上述错误,因此包含所有脚本的头文件没有被加载

我尝试使用$ci =& get_instance();但仍然给出同样的问题

public function payment_success() { 
    $this->load->model("bidding_m"); 
    $this->load->model("admin_setting_m"); 
    $this->load->model("channel_partners_m"); //call model functions to update the tables 
    $this->load->config('payu_config', TRUE); 
    $this->config = $this->config->item('payu_config'); 
    //echo base_url();
    exit;
}
4

2 回答 2

0

你的问题是这一行:

$this->config = $this->config->item('payu_config');

我不知道这段代码是否在库/控制器中,所以我尝试对两者进行解释:

控制器:

您使用单个配置项重写整个配置($this->config = ...),并且您的base_url配置项丢失了!所以这样做:

$config = $this->config->item('payu_config');

图书馆:

您正在访问配置项,但没有 codeigniter 实例。如果此代码在库中,则应如下所示:

public function payment_success() { 
    $ci = & get_instance();
    $ci->load->model("bidding_m"); 
    $ci->load->model("admin_setting_m"); 
    $ci->load->model("channel_partners_m"); 
    $ci->load->config('payu_config', TRUE); 
    //if you have in this library variable $config
    $this->config = $ci->config->item('payu_config'); 
    echo base_url();
    exit;
}
于 2016-08-09T08:31:20.467 回答
0

您可以尝试像这样加载助手

文件名首字母大写

Somelibraryname.php

<?php

class Somelibraryname  {

  public function __construct() {
    $this->CI =& get_instance();
    $this->CI->load->helper('url');
  }

  public function something() {
    echo base_url();

    // Or

    echo $this->CI->config->item('base_url');
  } 

}
于 2016-08-09T05:06:30.620 回答