web-dev-qa-db-ja.com

多くのユーザーグループがウェブサイトのセクションを遅くしている

私は約140のユーザーグループを持つJoomla 3.3.0ウェブサイトに取り組んでいます。ただし、これによりjoomlaの速度が低下します。特に、ユーザーグループをロードする必要があるWebサイトのセクションに移動する場合は特にそうです。グローバル構成と各コンポーネントの構成。また、モジュール編集ページの読み込みに少し時間がかかっているように感じます。

Chrome=は、ページのロードを待機している間に、ページが応答しなくなったというメッセージをスローします。待機ボタンをクリックすると、しばらくするとページがロードされます。 enter image description here

Googleで検索したところ、 J2.5の同様の問題 しか見つかりませんでした。

最近のJoomlaバージョンで同様の問題はありますか?
これは既知のバグですか?どのように対処しますか?

4
FFrewin

Phpのmax_input_varsのデフォルト制限と、ページが大量のフィールドをロードしようとしているという事実が原因であるようです。

この問題は ここ および ここ で議論されました。

解決策として、サーバーのphp_max_input_varsを増やすことをお勧めします。

更新:

多数のユーザーグループの読み込みが原因で発生するパフォーマンスの問題を解決するためのソリューションでこの問題を続行するには、次のようにします。 com_configに読み込まれたユーザーグループのフィルタリング

2
FFrewin

これを修正しました。テーブルsva_usergroupsは結合条件を使用しています。 5000ユーザーグループを使用しています。非常に多くのユーザーグループが原因で、結合条件が終了しない操作に移行しています。

次のコードをこれに変更します(削除された結合)。

場所:/libraries/joomla/form/fields/rules.php

protected function getUserGroups()
    {
        $db = JFactory::getDbo();
            $query = $db->getQuery(true)
            ->select('id AS value, title AS text, COUNT(DISTINCT id) AS level, parent_id')
            ->from('#__usergroups');
        $db->setQuery($query);
        $options = $db->loadObjectList();

        return $options;
    }
1
z3r0c001