2013-07-31 26 views
9

我想在codeigniter中擴展一個庫。這樣做的唯一方法似乎使用require_once然後加載使用$this->load->library()如何在codeigniter中require_once

現在我已經試過

  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')
擴展庫包含原始庫

,但不幸的是不幸運.....我不斷收到此錯誤

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

奇怪的是,雖然這適用於我本地的xampp環境,但不是在實際的服務器上。

+2

可能的重複[如何在CodeIgniter中包含外部庫?](http://stackoverflow.com/questions/2337411/how-do-i-include-external-libraries-in- codeigniter) – dm03514

+0

嘗試過它。不幸的是工作 –

回答

12

使用CodeIgniter的內置常數,APPPATH

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

+0

仍然是一個錯誤。 require_once()[function.require]:所需的 '應用程序/庫/ ion_auth.php' 無法開口(include_path中= ':/ usr/lib中/ PHP:在/ usr /本地/ LIB/PHP')在/ home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/auth.php –

+2

在這種情況下,我們有兩種可能性:1)路徑不正確,2)文件不存在。 – igasparetto

+0

..或文件的權限是錯誤的 – user20232359723568423357842364

1

你知道笨有loader class

改變這種

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

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

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

,這是我怎麼也暫時解決了這個問題。然而,使用加載器類的codeigniter'加載'庫(實例化一個對象),並且我不想'加載'ion_auth庫,因爲我正在擴展它。因此,我只想加載擴展庫。 –

+0

@ death_relic0你現在怎麼加載擴展庫?只是調用My_ion_auth.php或在笨文檔更好看,如何建立自己的圖書館,就是這麼簡單...:P – sbaaaang

7

如果庫是一個笨特定庫,sbaaaang指出,你應該使用:

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

但是,如果庫只是一個通用的PHP類或函數集,codeiginter加載器可能無法識別它。然後,你將需要使用通用加載運營商(包括include_once,要求,require_once)中的任意一個,與APPPATH不變,如也指出:

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

在一個真正的服務器,你應該使用圖書館的大寫名稱。像這樣:

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