10

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

我在自动加载名为“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);
    }
4

1 回答 1

35

根据用户指南,我认为您的文件名和类名的大写是问题所在:

  • phppass.php应该Phppass.php
  • class phpass应该class Phpass
于 2013-05-19T19:01:11.767 回答