私は約140のユーザーグループを持つJoomla 3.3.0ウェブサイトに取り組んでいます。ただし、これによりjoomlaの速度が低下します。特に、ユーザーグループをロードする必要があるWebサイトのセクションに移動する場合は特にそうです。グローバル構成と各コンポーネントの構成。また、モジュール編集ページの読み込みに少し時間がかかっているように感じます。
Chrome=は、ページのロードを待機している間に、ページが応答しなくなったというメッセージをスローします。待機ボタンをクリックすると、しばらくするとページがロードされます。
Googleで検索したところ、 J2.5の同様の問題 しか見つかりませんでした。
最近のJoomlaバージョンで同様の問題はありますか?
これは既知のバグですか?どのように対処しますか?
Phpのmax_input_vars
のデフォルト制限と、ページが大量のフィールドをロードしようとしているという事実が原因であるようです。
解決策として、サーバーのphp_max_input_vars
を増やすことをお勧めします。
多数のユーザーグループの読み込みが原因で発生するパフォーマンスの問題を解決するためのソリューションでこの問題を続行するには、次のようにします。 com_configに読み込まれたユーザーグループのフィルタリング
これを修正しました。テーブル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;
}