2013-07-31 62 views
9

Tôi đang cố gắng mở rộng thư viện trong trình mã hóa. Cách duy nhất để làm điều đó dường như bao gồm các thư viện ban đầu sử dụng require_once sau đó tải các thư viện mở rộng sử dụng $this->load->library()cách require_once trong mã vạch

ngay bây giờ tôi đã cố gắng

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

nhưng tiếc là không may mắn ..... Tôi cứ bị lỗi này

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

Điều lạ lẫm là mặc dù hoạt động trên môi trường xampp cục bộ của tôi nhưng không hoạt động trên máy chủ thực.

+2

có thể trùng lặp của [Làm cách nào để bao gồm Thư viện bên ngoài trong CodeIgniter?] (http://stackoverflow.com/questions/2337411/how-do-i-include-external-libraries-in- codeigniter) – dm03514

+0

đã thử nó.không hoạt động không may –

Trả lời

12

Sử dụng CodeIgniter được xây dựng trong không đổi, APPPATH

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

+0

vẫn là lỗi. require_once() [function.require]: Không mở được yêu cầu 'application/libraries/ion_auth.php' (include_path = '.:/usr/lib/php:/usr/local/lib/php') trong/home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/auth.php –

+2

Trong trường hợp đó, chúng tôi có 2 khả năng: 1) đường dẫn không chính xác, 2) tệp không tồn tại. – igasparetto

+0

.. hoặc các quyền trên tệp sai – user20232359723568423357842364

1

Bạn có biết rằng CodeIgniter có loader class?

thay đổi này

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

đó là cách tôi đã tạm thời giải quyết vấn đề. Tuy nhiên bằng cách sử dụng các lớp tải của codeigniter 'tải' thư viện (instantiates một đối tượng), và tôi không muốn 'tải' thư viện ion_auth kể từ khi tôi mở rộng nó. do đó, tôi chỉ muốn tải thư viện mở rộng. –

+0

@ death_relic0 làm bạn bây giờ làm thế nào để tải một lib mở rộng? chỉ cần gọi My_ion_auth.php hoặc xem tài liệu Codeigniter tốt hơn, cách tạo thư viện riêng, rất đơn giản ...: P – sbaaaang

7

Nếu thư viện là một thư viện cụ thể CodeIgniter, như sbaaaang chỉ ra, bạn nên sử dụng:

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

Tuy nhiên, nếu thư viện chỉ là một lớp PHP chung hoặc tập hợp các hàm, trình nạp mã có thể không nhận ra nó. Sau đó, bạn sẽ cần phải sử dụng một trong các nhà khai thác tải chung (bao gồm, include_once, yêu cầu, require_once), với APPPATH liên tục, cũng như chỉ ra:

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

Trong một máy chủ thực, bạn nên sử dụng thư viện của Tên UPPERCASE. như thế này:

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