【发布时间】:2013-05-14 08:20:31
【问题描述】:
是的,我想您是想说这个问题可能是重复的,但这并不是因为类似问题的答案并不能解决我目前遇到的问题。
我在自动加载名为“phpass”的库时收到以下错误,如下所示。
遇到错误 无法加载请求的类:Phpass
自动加载库的代码
$autoload['libraries'] = array('database', 'phpass');
phpass.php 文件位于 application/libraries 文件夹中,该类被声明为 class phpass 这意味着该问题与我遇到的大多数其他答案中建议的大小写或文件路径无关.
你能告诉我我错过了什么吗?它在 MAMP 中完美运行,但是,当上传到我的 Linux Ubuntu 服务器 (Apache2) 时,它停止工作。
谢谢,
最大。
Edit---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);
}
【问题讨论】:
-
Linux 区分大小写,windows 不区分,你是用它的类名“phpass”而不是“Phpass”
-
我排除了文件名导致的错误,并且我在 Mac 上运行,而不是在 Windows 上运行,因此使用 MAMP 而不是 WAMP。
-
错误告诉我们它在寻找“Phpass”而不是 phpass
-
是的,但考虑到我正在使用的代码,这是不可能的。我没有在我的代码中的任何地方调用
Phpass,只有phpass -
你能把 phpass.php 文件的第一行粘贴到它的构造器可见的地方吗
标签: php codeigniter autoload