2013-05-19 33 views
7

Sì, immagino che stiate pensando di dire che questa domanda è un possibile duplicato, tuttavia non è come le risposte per le domande simili non risolvono il problema che sto attualmente avendo.CodeIgniter - impossibile caricare la classe richiesta

Sto ricevendo il seguente errore durante l'autoload di una libreria denominata "phpass" come segue.

è verificato un errore Impossibile caricare la classe richiesta: Phpass

codice per caricare automaticamente la libreria

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

Il file phpass.php risiede nella cartella di applicazioni/librerie, e la classe è dichiarata come class phpass, il che significa che il problema non può essere correlato alla maiuscola o al percorso del file come suggerito nella maggior parte delle altre risposte che ho trovato.

Per favore, puoi dirmi cosa mi manca? Funziona perfettamente in MAMP, tuttavia, quando si carica sul mio server Linux Ubuntu (Apache2), smette di funzionare.

Grazie,

max.

Modifica --- metodo di costruzione come richiesto da 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); 
    } 
+2

Linux fa distinzione tra maiuscole e minuscole, Windows no, usi il suo nome di classe "phpass" non "Phpass" –

+0

Ho escluso l'errore come risultato del nome file, e sto correndo su Mac, non su Windows, quindi usando MAMP non WAMP. –

+0

L'errore ci dice che sta cercando "Phpass" non phpass –

risposta

25

Penso che la capitalizzazione del nome del file e il nome della classe è il problema, secondo il user guide:

  • phppass.php dovrebbe essere Phppass.php
  • class phpass deve essere class Phpass
+0

Sì, brillante. Grazie @lefters! –

+0

Questo deve essere un problema risolvibile. –

+0

Nessun problema @max_! Sono contento che questo sia stato d'aiuto! – jleft

Problemi correlati