+ de 1000 forums et "Configuration des URLs des forums"

Support et discussions sur les différentes téchniques de réécriture d'url (url rewriting) pour phpBB3 - Olympus.

Modérateur: Modérateurs

+ de 1000 forums et "Configuration des URLs des forums"

Messagede tosmatrix3 » Jeu Juil 26, 2012 1:10 pm

Bonjour,

J'ai le mod phpbbseo en type de réécriture "intermédiaire".

Le soucis, c'est que depuis que j'ai plus de 1000 forums la mise à jour des URLS des forums ne fonctionne plus parfaitement.
J'ai identifier le soucis. Quand je veux mettre en cache les URL de mes forums, depuis ce lien xxx.fr/adm/index.php?i=phpbb_seo&mode=forum_url
j'ai environ 1300 forums, et j'ai vu que quand on valide cette page phpbb fait le traitement souhaité uniquement sur les 1000 premières lignes.

Y'a-t-il une possibilité pour augmenter ce paramètre de 1000 "itérations" ? Actuellement je modifie l'ordre d'affichage des forums afin d'avoir les forums que je veux modifier en haut, mais ce n'est vraiment pas la meilleure des solutions. . .

Merci par avance.
tosmatrix3
 
Messages: 16
Inscription: Mar Jan 19, 2010 5:56 pm

Publicité

Re: + de 1000 forums et "Configuration des URLs des forums"

Messagede dcz » Jeu Aoû 02, 2012 7:16 am

La limite n'est pas fixée par notre code, mais il est clair qu'il n'est pas très adapté à un aussi grand nombre de forums. Ton hébergement doit imposer une limite à la taille des tableaux parce qu'autrement ça ferait un timeout. Du coup je me demande si en sauvegardant les 1000 premiers tu perds pas les infos de 300 restant (en fait je vois pas comment il pourrait en être autrement).

Cela dit, le cache des url des forum n'est vraiment utile que pour configurer des url custom, si l'injection du titre te conviens, tu peux le désactiver, ou juste l'utiliser pour les forums qui ont besoin d'une url différente de leur titre (mais là, il faut mettre à jour le cache à la main, phpbb_seo/cache/phpbb_cache.php, pour mettre uniquement en cache les url custom des forums que tu veux).
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21406
Inscription: Ven Avr 28, 2006 9:03 pm

Re: + de 1000 forums et "Configuration des URLs des forums"

Messagede tosmatrix3 » Jeu Aoû 02, 2012 7:41 am

Je suis sur un serveur dédié donc pas de limite de mon hébergement.

Effectivement la limite de 1000 itérations n'est pas fixé par le code du phpbb-seo, mais soit par phpbb dans son fonctionnement de base (enfin de ce que j'en ai trouvé), soit dans le nombre de valeurs passés dans le formulaire a php.

J'ai regardé dans phpbb_cache, j'ai bien les 1400 entrées dans mon tableau, et toutes les urls sont bien réécrite comme défini sur la page de configuration. Le seul soucis étant qu'après la validation, seules les 1000 premières sont effectivement modifiés mais pas les suivantes. (les suivantes n'étant pas modifiés donc toujours fonctionnel)

Pour l'instant j'ai modifié le script afin d'afficher uniquement les url qui ne sont pas en cache, comme ça je n'ai pas de soucis. Et si je veux modifier une url déjà en cache, j'indique l'id du forum directement à la main. On dira que cette solution (ce bricolage) est tout a fait fonctionnel. Je posait la question au cas où un réglage facilement accessible soit disponible (augmenter la limite des 1000 itérations). Mais étant donné que ce n'est pas le cas : je vais rester sur mon bricolage actuel.

Modification sur \includes\acp\acp_phpbb_seo.php pour afficher uniquement les url qui ne sont pas en cache :
Vers la ligne 160
(Tout ce qui est dans la bouche du "else { // Cached" est commenté)
Code: Tout sélectionner
foreach ($this->forum_ids as $forum_id => $forum_name) {
               $error_cust = '';
               // Is the URL cached already ?
               if ( empty($phpbb_seo->cache_config['forum'][$forum_id]) ) {
                  // Suggest the one from the title
                  $forum_url_title = $phpbb_seo->format_url($forum_name, $phpbb_seo->seo_static['forum']);
                  if (!in_array($forum_url_title, $forbidden)) {
                     if (array_search($forum_url_title, $phpbb_seo->cache_config['forum'])) {
                        $this->new_config['forum_url' . $forum_id] = $forum_url_title .  $phpbb_seo->seo_delim['forum'] . $forum_id;
                        $error_cust = '<li>&nbsp;' . sprintf($user->lang['SEO_ADVICE_DUPE'], $forum_url_title) . '</li>';
                     } else {
                        $this->new_config['forum_url' . $forum_id] = $forum_url_title . (@$phpbb_seo->cache_config['settings']['rem_ids'] ? '': $phpbb_seo->seo_delim['forum'] . $forum_id);
         }
                  } else {
                     $this->new_config['forum_url' . $forum_id] = $forum_url_title . $phpbb_seo->seo_delim['forum'] . $forum_id;
                     $error_cust = '<li>&nbsp;' . sprintf($user->lang['SEO_ADVICE_RESERVED'], $forum_url_title) . '</li>';
                  }
                  $title = '<b style="color:red">' . $forum_name . ' - ID ' . $forum_id . '</b>';
                  $status_msg = '<b style="color:red">' . $user->lang['SEO_CACHE_URL_NOT_OK'] . '</b>';
                  $status_msg .= '<br/><span style="color:red">' . $user->lang['SEO_CACHE_URL'] . '&nbsp;:</span>&nbsp;' . $this->new_config['forum_url' . $forum_id] . $phpbb_seo->seo_ext['forum'];
                  $display_vars['vars']['forum_url' . $forum_id] = array('lang' => $title, 'validate' => 'string', 'type' => 'custom', 'method' => 'forum_url_input', 'explain' => true, 'lang_explain_custom' => $status_msg, 'append' => $this->seo_advices($this->new_config['forum_url' . $forum_id], $forum_id,  false, $error_cust));
               } else { // Cached
                  // $this->new_config['forum_url' . $forum_id] = $phpbb_seo->cache_config['forum'][$forum_id];
                  // $title = '<b style="color:green">' . $forum_name . ' - ID ' . $forum_id . '</b>';
                  // $status_msg = '<span style="color:green">' . $user->lang['SEO_CACHE_URL_OK'] . '&nbsp;:</span>&nbsp;<b style="color:green">' . $this->new_config['forum_url' . $forum_id] . '</b>';
                  // $status_msg .= '<br/><span style="color:green">' . $user->lang['SEO_CACHE_URL'] . '&nbsp;:</span>&nbsp;' . $this->new_config['forum_url' . $forum_id] . $phpbb_seo->seo_ext['forum'];
                  // $display_vars['vars']['forum_url' . $forum_id] = array('lang' => $title, 'validate' => 'string:0:100', 'type' => 'custom', 'method' => 'forum_url_input', 'explain' => true, 'lang_explain_custom' => $status_msg,'append' => $this->seo_advices($this->new_config['forum_url' . $forum_id], $forum_id, true));
               }
            }


Merci !
tosmatrix3
 
Messages: 16
Inscription: Mar Jan 19, 2010 5:56 pm

Re: + de 1000 forums et "Configuration des URLs des forums"

Messagede dcz » Mar Aoû 07, 2012 12:42 pm

Il n'y a rien dans php natif qui limite le nombre d’élément d'un tableau à part par la RAM utilisée, mais c'est clairement pas ça ...
Tu utilises suhosin ?
http://www.hardened-php.net/suhosin/con ... rray_depth ?
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21406
Inscription: Ven Avr 28, 2006 9:03 pm

Re: + de 1000 forums et "Configuration des URLs des forums"

Messagede tosmatrix3 » Mar Aoû 07, 2012 1:33 pm

Effectivement, je viens de trouver ce réglage dans mon phpinfo() :
Code: Tout sélectionner
max_input_vars : 1000


Donc le problème n'est pas dans l'application mais bien sur la configuration du serveur.
Donc je vais voir de ce coté là !
Merci beaucoup pour votre aide. (En plus je ne pense pas qu'on soit beaucoup avec plus de 1000forums ... :mrgreen: )
tosmatrix3
 
Messages: 16
Inscription: Mar Jan 19, 2010 5:56 pm


Retourner vers mod Rewrite phpBB

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités