Tak, wyobrażam sobie, że myślisz, że to pytanie jest możliwym duplikatem, jednak nie jest tak, ponieważ odpowiedzi na podobne pytania nie rozwiązują problemu, który aktualnie mam.CodeIgniter - nie można załadować żądanej klasy
Otrzymuję następujący błąd podczas automatycznego ładowania biblioteki o nazwie "phpass" w następujący sposób.
Wystąpił błąd Nie można wczytać żądanej klasy: Phpass
kodu do autoload bibliotekę
$autoload['libraries'] = array('database', 'phpass');
Plik phpass.php znajduje się w folderze aplikacji/bibliotek a klasa jest zadeklarowana jako class phpass
, co oznacza, że problem nie może być związany z dużymi literami ani ścieżką do pliku, jak sugerowano w większości innych odpowiedzi, na które natknąłem się.
Proszę, możesz mi powiedzieć, czego mi brakuje? Działa to doskonale w MAMP, jednak po załadowaniu na mój serwer Linux Ubuntu (Apache2) przestaje działać.
Dzięki,
Max.
Edit --- metoda konstruktora wymagane przez 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 rozróżnia wielkość liter, okna nie, czy używasz nazwy klasy "phpass", a nie "Phpass" –
Wykluczyłem błąd będący wynikiem nazwy pliku, a ja używam Maca, a nie okien, dlatego używam MAMP nie WAMP. –
Błąd mówi nam, że szuka "Phpass", a nie phpass. –