如何在codeigniter中要求一次

Posted

技术标签:

【中文标题】如何在codeigniter中要求一次【英文标题】:how to require_once in codeigniter 【发布时间】:2013-08-01 10:00:13 【问题描述】:

我正在尝试在 codeigniter 中扩展一个库。这样做的唯一方法似乎是使用require_once 包含原始库,然后使用$this->load->library() 加载扩展库

我已经试过了

    require_once('ion_auth.php'); require_once('home/SITE_NAME/public_html/FOLDER_NAME/application/libraries/ion_auth.php') 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 环境,但不适用于实际服务器。

【问题讨论】:

How do I include external Libraries in CodeIgniter?的可能重复 试过了。不幸的是没用 【参考方案1】:

使用 CodeIgniter 的内置常量,APPPATH

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

【讨论】:

仍然是一个错误。 require_once() [function.require]:在 /home/SITE_NAME/ 中打开所需的 'application/libraries/ion_auth.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') 失败public_html/FOLDER_NAME/application/libraries/auth.php 在这种情况下,我们有两种可能:1)路径不正确,2)文件不存在。【参考方案2】:

如果该库是特定于 codeigniter 的库,正如 sbaaaang 指出的那样,您应该使用:

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

但是,如果库只是一个通用 PHP 类或一组函数,codeiginter 加载器可能无法识别它。然后,您将需要使用任何一个通用加载运算符(include、include_once、require、require_once)和 APPPATH 常量,正如还指出的那样:

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

【讨论】:

【参考方案3】:

你知道 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`

【讨论】:

这就是我暂时解决问题的方法。但是,使用 codeigniter 的加载器类“加载”库(实例化一个对象),我不想“加载”ion_auth 库,因为我正在扩展它。因此,我只想加载扩展库。 @death_relic0 你现在如何加载扩展库?只需调用 My_ion_auth.php 或更好地查看 Codeigniter 文档,如何创建自己的库,就是这么简单......:P

以上是关于如何在codeigniter中要求一次的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置CI重写规则,codeigniter

使用 codeigniter ci_marchant_Lib 库的 PayPal 定期付款

如何在codeigniter中使用两个不同的表只显示一次数据

如何使用 Codeigniter 3 一次将图像输入到 2 个表中

Facebook getUser() 返回 0 [重复]

在 codeigniter 中提交一次后,在每次刷新时停止表单提交