我收到以下错误:
在第1233行的C:\ wamp \ www \ Code \ application \ libraries \ DX_Auth.php中调用未定义的方法CI_Loader :: plugin()
关于此代码:
function captcha()
{
$this->ci->load->helper('url');
$this->ci->load->plugin('dx_captcha');
$captcha_dir = trim($this->ci->config->item('DX_captcha_path'), './');
答案 0 :(得分:1)
确保您已将application / config / autoload.php中的任何数组值从$ autoload ['plugins']移动到$ autoload ['helpers'],否则您会发现内容中断。
答案 1 :(得分:1)
您使用的是哪个版本的CI?插件已从2.x中删除并替换为帮助程序。 尝试使用reCaptcha,它有一个很好的库。
答案 2 :(得分:0)
你正在尝试加载一个插件并且不支持插件,如果我从CI版本2开始就记得它。如果是这种情况(似乎是这样)你需要将你的插件转换为帮助者。
答案 3 :(得分:0)
我认为您正在尝试在新版本的CodeIgniter上使用旧版本的DX_Auth。当前版本的DX_Auth与CI 2.x兼容,可在github上使用。
答案 4 :(得分:0)
解决此问题的一种简单方法是将此代码放在loader.php
中。该插件的工作原理。转到System->Core->Loader.php
。
/**
* Load Plugin
*
* This function loads the specified plugin.
*
* @access public
* @param array
* @return void
*/
function plugin($plugins = array())
{
if ( ! is_array($plugins))
{
$plugins = array($plugins);
}
foreach ($plugins as $plugin)
{
$plugin = strtolower(str_replace(EXT, '', str_replace('_pi', '', $plugin)).'_pi');
if (isset($this->_ci_plugins[$plugin]))
{
continue;
}
if (file_exists(APPPATH.'plugins/'.$plugin.EXT))
{
include_once(APPPATH.'plugins/'.$plugin.EXT);
}
else
{
if (file_exists(BASEPATH.'plugins/'.$plugin.EXT))
{
include_once(BASEPATH.'plugins/'.$plugin.EXT);
}
else
{
show_error('Unable to load the requested file: plugins/'.$plugin.EXT);
}
}
$this->_ci_plugins[$plugin] = TRUE;
log_message('debug', 'Plugin loaded: '.$plugin);
}
}
// --------------------------------------------------------------------
/**
* Load Plugins
*
* This is simply an alias to the above function in case the
* user has written the plural form of this function.
*
* @access public
* @param array
* @return void
*/
function plugins($plugins = array())
{
$this->plugin($plugins);
}