2013-07-31 7 views
9

Ich versuche, eine Bibliothek in codeigniter zu erweitern. Der einzige Weg, dies zu tun scheint die ursprüngliche Bibliothek schließen require_once verwenden, dann die erweiterte Bibliothek laden mit $this->load->library()Wie Require_once in Codeigniter

jetzt habe ich

versucht
  1. require_once('ion_auth.php');
  2. require_once('home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/ion_auth.php')
  3. require_once('/home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/ion_auth.php')

aber leider nicht Glück ..... Ich bekomme diesen Fehler

Merkwürdige Sache ist, obwohl dies auf meiner lokalen xampp-Umgebung funktioniert, aber nicht auf dem tatsächlichen Server.

+2

möglich Duplikat [? Wie füge ich externe Bibliotheken in CodeIgniter] (http://stackoverflow.com/questions/2337411/how-do-i-include-external-libraries-in- codeigniter) – dm03514

+0

versuchte es.nicht funktioniert leider –

Antwort

12

Verwenden CodeIgniter die in konstanten gebaut, APPPATH

require_once(APPPATH.'libraries/ion_auth.php');

+0

immer noch ein Fehler. require_once() [function.require]: Fehler beim Öffnen von 'application/libraries/ion_auth.php' (include_path = '.:/usr/lib/php:/usr/local/lib/php') in/home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/auth.php –

+2

In diesem Fall haben wir 2 Möglichkeiten: 1) der Pfad ist falsch, 2) die Datei existiert nicht. – igasparetto

+0

.. oder die Berechtigungen für die Datei sind falsch – user20232359723568423357842364

1

Wissen Sie, dass Codeigniter eine loader class hat?

Änderung dieser

require_once('/home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/ion_auth.php') 

zu

$this->load->library('ion_auth'); 

and be sure your libraries/ion_auth.php file it's a class named `class ion_auth{}` 
+1

das ist, wie ich das Problem vorübergehend gelöst habe. Allerdings lädt die loader-Klasse von codeigniter die Bibliothek (instanziiert ein Objekt), und ich möchte die ion_auth-Bibliothek nicht laden, da ich sie erweitere. Daher möchte ich nur die erweiterte Bibliothek laden. –

+0

@ death_relic0 Können Sie jetzt eine erweiterte Lib laden? rufen Sie einfach My_ion_auth.php auf oder schauen Sie sich die Codeigniter-Dokumentation an, wie Sie eigene Bibliotheken erstellen, ist so einfach ...: P – sbaaaang

7

Wenn die Bibliothek eine codeigniter spezifische Bibliothek ist, wie sbaaaang darauf hinweist, sollten Sie verwenden:

$this->load->library('ion_auth'); 

Wenn jedoch die Bibliothek ist nur eine generische PHP-Klasse oder ein Satz von Funktionen, der Code-Ligator Loader erkennt sie möglicherweise nicht. Dann müssen Sie entweder eine der generischen Lade Operatoren verwenden (einschließlich, include_once, require, require_once), mit der APPPATH konstant, wie auch darauf hingewiesen:

require_once(APPPATH.'libraries/ion_auth.php'); 
0

In einem realen Server, sollten Sie Bibliothek verwenden Großbuchstaben Name. wie folgt aus:

require_once(APPPATH.'libraries/Ion_auth.php');