无法自动加载/交叉加载库

时间:2011-08-05 16:35:00

标签: codeigniter codeigniter-2

我在尝试自动加载ion_auth库时遇到错误

应用/配置/ autoload.php

$autoload['libraries'] = array('database', 'template', 'asset', 'ion_auth/ion_auth'); 

文件夹结构:

application/
  ...
  modules/
    ion_auth/
      ...
      config/
        ion_auth.php
      ...
    tester/
      controllers/
        tester.php 

我在tester.php上尝试var_dump($ this-> ion_auth)并收到错误消息:

The configuration file ion_auth.php does not exist.

我尝试从tester.php获取$ this-> load-> library('ion_auth / ion_auth')并从autoload中删除ionauth,它仍然是错误的。怎么解决这个问题?

我从codeigniter.com上的链接下载codeigniter并从bitbucket下载模块化扩展

3 个答案:

答案 0 :(得分:2)

这不是Modular Extensions的问题。您需要将Ion Auth的配置文件放入主应用程序的配置文件夹中,而不是Ion Auth目录中。

只需将其从application/modules/ion_auth/config/ion_auth.php移至application/config/ion_auth.php即可。这将解决配置错误,但您可能需要将整个Ion Auth库移动到application/libraries

答案 1 :(得分:0)

我不使用Modular Extensions,但从代码的外观来看,我冒昧地猜测CI不知道在ion_auth文件夹中查找config文件夹。

如果Modular Extensions有配置选项,请务必将其设置为查看配置文件夹的扩展名文件夹。如果没有,您需要直接告诉CI有关config文件夹的信息,或者将ion_auth配置文件放入已识别的配置文件夹中。

答案 2 :(得分:0)

我和你完全一样,来自wiredesignz,CI和Ion_auth的HMVC和我有同样的问题。我解决了它加载配置文件PRIOR库,:P,我不知道这是不是你的问题,但我也有完全相同的错误信息。我使用Ion_auth的构造方法看起来像

class Auth extends MY_Controller {

function __construct()
{
    parent::__construct();

    // THIS LINE BEFORE LOAD THE LIBRARY:
    $this->load->config('auth/ion_auth', TRUE);

    $this->load->library('ion_auth');
    $this->load->library('session');
    $this->load->library('form_validation');
    $this->form_validation->CI = & $this;
    $this->load->database();
    $this->load->helper('url');
    $this->load->helper('cookie');

    $this->load->library('email');
    $this->load->library('session');
    $this->lang->load('auth/ion_auth');
    $this->load->model('auth/ion_auth_model');      
}