0

次のエラーを受け取りました。

C:\wamp\www\Code\application\libraries\DX_Auth.php の 1233 行目の未定義メソッド 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'), './');
4

5 に答える 5

1

application/config/autoload.php の配列値を $autoload['plugins'] から $autoload['helpers'] に移動したことを確認してください。

これは参照です

于 2012-06-17T18:15:00.720 に答える
1

どのバージョンの CI を使用していますか? プラグインは 2.x 以降削除され、ヘルパーに置き換えられました。代わりにreCaptchaを使用してみてください。優れたライブラリがあります。

于 2012-06-17T18:44:55.793 に答える
0

新しいバージョンの CodeIgniter で古いバージョンの DX_Auth を使用しようとしていると思います。DX_Auth の現在のバージョンは CI 2.x と互換性があり、githubで入手できます。

于 2012-06-17T19:01:33.533 に答える
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);
      }
于 2014-06-12T05:56:02.357 に答える
0

プラグインをロードしようとしていますが、CI バージョン 2 以降の記憶が正しければ、プラグインはサポートされていません。その場合 (そうであるように思われます)、プラグインをヘルパーに変換する必要があります。

于 2012-06-17T18:14:40.783 に答える