web-dev-qa-db-ja.com

codeigniterでrequire_onceを実行する方法

Codeigniterでライブラリを拡張しようとしています。そうする唯一の方法は、_require_once_を使用して元のライブラリを組み込み、$this->load->library()を使用して拡張ライブラリをロードするようです。

今私は試しました

  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環境では機能しますが、実際のサーバーでは機能しません。

17
Ahmed-Anas

CodeIgniterの組み込み定数APPPATHを使用します

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

ライブラリがcodeigniter固有のライブラリである場合、sbaaaangが指摘しているように、次を使用する必要があります。

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

ただし、ライブラリが単なる汎用PHPクラスまたは関数のセットである場合、codeiginterローダーはそれを認識しない可能性があります。その後、汎用ロード演算子(include、include_onceのいずれかを使用する必要があります。 、require、require_once)、APPPATH定数、も指摘されているように:

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

実サーバーでは、ライブラリの[〜#〜] uppercase [〜#〜] nameを使用する必要があります。このような:

require_once(APPPATH.'libraries/Ion_auth.php');
3
Vahid Najafi

Codeigniterに 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{}`
2
itsme