3

ユーザーが CodeIgniter にログインしているかどうかを確認する必要があります。

ログインはJoomlaサイトで行われています。

joomla を初期化するために次のことを試しました。

define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define('JPATH_BASE', dirname(__FILE__) );

require_once ("../includes/defines.php");
require_once ("../includes/framework.php");

$mainframe =& JFactory::getApplication("site");
$mainframe->initialise();

$session =& JFactory::getSession();
$user = $session->get( 'user' );

しかし、私はこのメッセージを受け取りました:

構成ファイルが見つからず、インストール コードも利用できません。終了しています...

Joomla は root にインストールされ、codeigniter は root/advanced にインストールされます

コントローラーでコードを呼び出しています。

どうすればこれを解決できますか?

編集:

今、私はこのエラーが発生しています:

PHP エラーが発生しました

重大度: 通知

メッセージ: 未定義の変数: BM

ファイル名: core/CodeIgniter.php

ライン番号: 364

編集

私のコントローラーはこのように見えます

function is_logged()
    {

                define( '_JEXEC', 1 );
            define( 'JPATH_BASE', '../');
            define( 'DS', DIRECTORY_SEPARATOR );

        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        //require_once ("../libraries/joomla/user/authentication.php");
        $mainframe =& JFactory::getApplication("site");
        $mainframe->initialise();

        $session =& JFactory::getSession();
        $user = $session->get( 'user' );



    }

ディレクトリ構造

--Public_html
  --Joomla Istallation files
  --Advanced [This is a folder ,i installed codeignitor on this folder]

したがって、joomla へのパスは、Codeignitor へのsite.com/パスはsite.com/advanced

エラーの詳細

Codeignitor Core の 364 行目は次のように述べています。

// Mark a benchmark end point
    $BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_end');

CIコアの開始時に次のように表示されます

    $BM =& load_class('Benchmark', 'core');
    $BM->mark('total_execution_time_start');
    $BM->mark('loading_time:_base_classes_start');
4

1 に答える 1

1

古い投稿を知っていますが、JPATH_BASEがconfiguration.phpファイルがあるディレクトリを指していることを確認する必要があります。相対パスではなく絶対パスを使用します。

于 2012-07-10T16:15:25.270 に答える