CodeIgniter - 无法加载请求的类

时间:2013-05-19 18:52:21

标签: php codeigniter autoload

是的,我想你想要说这个问题可能是重复的,但不是因为类似问题的答案没有解决我目前遇到的问题。

我在自动加载名为“phpass”的库时收到以下错误,如下所示。

  

遇到错误   无法加载请求的类:Phpass

自动加载库的代码

$autoload['libraries'] = array('database', 'phpass');

phpass.php文件驻留在application / libraries文件夹中,并且该类声明为class phpass,这意味着该问题无法与大写或文件路径相关,如我所提供的大多数其他答案所示碰到了。

请告诉我我错过了什么?它在MAMP中运行良好,但是,当上传到我的Linux Ubuntu服务器(Apache2)时,它会停止工作。

谢谢,

最大

编辑--- Utku要求的构造方法

class phpass {

    protected $PasswordHash;

    // default values if config was not found
    protected $iteration_count_log2 = 8;
    protected $portable_hashes = FALSE;

    /**
     * Construct with configuration array
     * 
     * @param array $config
     */
    public function __construct($config = array()) {
        // check if the original phpass file exists
        if (!file_exists($path = dirname(__FILE__) . '/../vendor/PasswordHash.php')) {
            show_error('The phpass class file was not found.');
        }

        include ($path);

        if (!empty($config)) {
            $this->initialize($config);
        }

        // create phpass object
        $this->PasswordHash = new PasswordHash($this->iteration_count_log2, $this->portable_hashes);
    }

1 个答案:

答案 0 :(得分:28)

根据user guide,我认为您的文件名和类名大写是个问题:

  • phppass.php应为Phppass.php
  • class phpass应为class Phpass