ホーム > フォーラム > 開発 > コア開発 > XCL2.1.6RC3でもブロック表示の不具合が改善されず

XCL2.1.6RC3でもブロック表示の不具合が改善されず
投稿者: pcboy | 投稿日時: 2008/11/4 18:49 | 閲覧: 20212回
pcboy
お世話になっています。

XCL2.1.6RC3を新規インストールし、ログインして管理者メニューを選択しても
管理者画面が表示出来ません。

XCL2.1.5をXCL2.1.6RC3にアップデートすると同じく、管理者画面が表示されません。
また、他のブロック表示も殆どが表示されません。

どうもXCL2.1.6RC3にするとブロックのアクセス権を読み違えている様に見えます。

XCL2.1.6RC2でも同様でした。
--------------------------
Windows Server IIS
XOOPS Cube Legacy 2.1.5
MySQL Ver 5.1.25
PHP Ver 5.2.6

コメント(8)

Re: XCL2.1.6RC3でもブロック表示の不具合が改善されず 
投稿者: onokazu | 投稿日時: 2008/11/7 15:39
onokazu
2.1.6RC2の時に似たような症状の方がおられました

2.1.6RC2のバグ?でしょうか
http://xoopscube.jp/modules/forum/index.php/node/6123

が、RC3になってこれは修正されている模様ですので、何か他の理由かもしれませんね。

「管理者画面が表示されない」というのは、管理者画面の左側のメニューのみが表示されないのでしょうか?それとも白紙のページになったり、アクセスが拒否されるのですか?

また、互換モジュールの全般設定で「デバグモードを有効にする」→「PHPデバグ」を選択した場合にはどのようになりますでしょうか?
Re: XCL2.1.6RC3でもブロック表示の不具合が改善されず 
投稿者: minahito | 投稿日時: 2008/11/8 1:12
minahito
こんばんは。
少なくとも Apache では確認できていない現象です。
非常にお手数で恐縮なのですが、

(1) XCL 2.1.6 RC3 にアップグレードして「何じゃこりゃああ〜〜」となった状態
(2) から /modules/legacy/kernel/Legacy_Controller.class.php だけ 2.1.5 のものに書き戻す
(このファイルだけ 2.1.5 にダウングレードする)

これを試してもらえないでしょうか?
これで症状が戻れば多分発生箇所を特定できます。

# onokazu さんが質問されている点もかなり貴重なので
# ご面倒ですがなにとぞ情報ください〜〜 m(__)m
Re: XCL2.1.6RC3でもブロック表示の不具合が改善されず 
投稿者: okuhiki | 投稿日時: 2008/11/8 11:06
okuhiki
症状
管理者でログインしているのに管理画面が表示されない。
/xcltest/admin.php へアクセスしてもブラウザの表示は /xcltest/index.php にアクセスしている状態です。
/xcltest/modules/legacy/admin/index.php に直でアクセスすると
Fatal error: Call to a member function setAttribute() on a non-object in \modules\legacy\class\ActionFrame.class.php on line 69
となります。

原因
$root->mContext は定義されてるが $root->mContext->mModule は未定義か null が定義されている。

いきなりの推測
#コードを追っていないのですが、なぜかここにたどり着きました。
\modules\legacy\kernel\Legacy_Controller.class.php Line 383
$requestPathInfo = @parse_url($_SERVER['REQUEST_URI']);

$requestPathInfo = @parse_url(isset($_SERVER['PATH_INFO']) ? substr($_SERVER['PHP_SELF'],0,- strlen($_SERVER['PATH_INFO'])) : $_SERVER['PHP_SELF']);
に変更され IIS では定義されいるが内容の無い環境変数が利用されているのではないかと推測しました。

対策
\modules\legacy\kernel\Legacy_Controller.class.php Line 383 の
isset($_SERVER['PATH_INFO']) 部分を !empty($_SERVER['PATH_INFO']) に変更した所、管理画面が表示されました。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top