2013-07-31 12 views
9

Próbuję rozszerzyć bibliotekę w codeigniter. Jedynym sposobem, aby to zrobić wydaje się zawierać oryginalną bibliotekę przy użyciu require_once następnie załadować rozszerzoną bibliotekę przy użyciu $this->load->library()how to require_once w codeigniter

teraz Próbowałem

  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')

ale niestety nie szczęście ..... Ciągle otrzymuję ten błąd

Message: require_once(...) [function.require-once]: failed to open stream: No such file or directory 

Dziwne jest to, że działa to w moim lokalnym środowisku xampp, ale nie na rzeczywistym serwerze.

+2

możliwe duplikat [? Jak dołączyć zewnętrznych bibliotek w CodeIgniter] (http://stackoverflow.com/questions/2337411/how-do-i-include-external-libraries-in- codeigniter) – dm03514

+0

próbował it.Nie działa niestety –

Odpowiedz

12

użycie CodeIgniter wbudowanego w stały, APPPATH

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

+0

nadal błąd. require_once() [function.require]: Nie powiodło się otwarcie wymaganej 'application/libraries/ion_auth.php' (include_path = '.:/usr/lib/php:/usr/local/lib/php') w/home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/auth.php –

+2

W takim przypadku mamy dwie możliwości: 1) ścieżka jest niepoprawna, 2) plik nie istnieje. – igasparetto

+0

.. lub uprawnienia do pliku są nieprawidłowe – user20232359723568423357842364

1

Czy wiesz, że CodeIgniter ma loader class?

zmiana ta

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

do

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

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

thats jak tymczasowo rozwiązany problem. Jednak przy użyciu klasy ładującej codeigniter 'ładuje' bibliotekę (tworzy instancję obiektu) i nie chcę 'ładować' biblioteki ion_auth, ponieważ ją rozszerzam. dlatego chcę tylko załadować rozszerzoną bibliotekę. –

+0

@ death_relic0 Czy chcesz teraz załadować rozszerzoną bibliotekę? wystarczy nazwać to My_ion_auth.php lub lepiej spojrzeć na Dokumentację Codeigniter, jak tworzyć własne biblioteki, jest tak proste ...: P – sbaaaang

7

Jeśli biblioteka jest specyficznym biblioteka CodeIgniter, jak sbaaaang zwraca uwagę, należy użyć:

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

Jednakże, jeśli biblioteka jest po prostu ogólną klasą PHP lub zestawem funkcji, program ładujący kod może nie rozpoznać go. Potem trzeba będzie użyć jednego z ogólnych operatorów załadunku (obejmują include_once wymagają, require_once), z AppPath stałej, jak również zauważył:

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

W prawdziwym serwerze, należy użyć biblioteki UPPERCASE imię. tak:

require_once(APPPATH.'libraries/Ion_auth.php'); 
Powiązane problemy