Bonjour
Après moult recherches et essais, j'ai fait ceci :
- j'ai mis #CACHE{3600*24} en première ligne de plan.html
- j'ai copié/collé de <B_rubriques> à </B_rubriques> dans un fichier /squelettes/inc-plan.html
- j'ai remplacé cette boucle par <INCLURE{fond=inc-plan}{id_rubrique}> dans le /squelettes/plan.html
(c'est sympa d em'avoir donné ces indications : je crois que j'ai compris comment faire un INCLURE)
j'ai envoyé tout ça, actualisé, etc.
Rien à faire : journal-la-mee-2.info ne s'ouvre pas, ou bien me donne un "internal server error"
En même temps j'ai vu que http://www.journal-la-mee-2.info/spip.php?article1 ne s'ouvre pas non plus (page blanche), il y a plein plein de liens dedans.
Est-ce donc un problème de temps limite ?
Si oui, comment y remédier ?
fallait-il mettre #CACHE{3600*24} ou un temps plus court ou un temps plus long ?
Quand je fais http://www.journal-la-mee-2.info/spip.php?page=plan&var_mode=recalcul ça donne une page blanche
Quand je fais http://www.journal-la-mee-2.info/spip.php?page=plan&var_mode=debug ça ne donne rien
J'ai supprimé le dossier cache dans tmp ........
J'ai fait plein de choses !
Une idée ?
MERCI
Stephane a écrit :
b.poiraud@wanadoo.fr a écrit :
Réponses dans le texte
J'ai max_execution_time = 30 et je n'ai pas de memory_limit indiquée
mais si, mais si, regarde bien dans le bloc PHP Core, juste après les max_.... mais ca n'est sans doute pas ca, sinon tu verrais (en admin) le message d'erreur quand ca plante
Pour le reste je n'ai pas compris : je ne sais pas ce qu'est une boucle récursive, je ne sais pas faire un inclure, ni #cache, ni faire un modèle !
arg, un peu de lecture s'imposerait alors...
Mais j'ai réussi, une fois, à récupérer la source de page=plan
donc je penche pour un timeout : en 30s, spip n'a pas le temps de construirele cache.
la solution de segmenter en INCLURE devrait donc marcher
j'ai copié cette source dans un article (ici article 156 : http://www.journal-la-mee-2.info/spip.php?article156)
et je viens d'essayer :
- journal-la-mee-2.info ne s'ouvre pas
- http://www.journal-la-mee-2.info/spip.php?article156 s'ouvre impeccablement
Il y a donc une difficulté quelque part !
ben pour afficher ton article, spip fait un select en base qui remonte une ligne et affiche le contenu du texte de l'article.
pour faire ton plan, si par exemple tu as 10 secteurs avec chacun 10 rubriques, spip fait :
- 1 select des rubriques à la racine (mettons que tu en as 10)
- 10 select pour remonter les articles de ces rubriques
- 10 select pour remonter les breves de ces rubriques
- 10 select pour remonter les sites de ces rubriques
- 10 select pour remonter les sous-rubriques
- 10*10 select pour remonter les articles de ces sous-rubriques
soit 141 select remontant tous de nombreuses lignes (et le cas est simpliste, avec un peu de profondeur, ca fait vite beaucoup de requetes)
bref, la construction du plan, c'est autrement plus long
l'idée, c'est de mettre dans un inclure
- 1 select pour remonter les sous-rubriques
- 10 select pour remonter les articles de ces sous-rubriques
ca echouera de la meme facon, mais au tour suivant, les caches calculés seront utilisés et ca finira par passer
ensuite, les caches vont se désynchronisés petit à petit et tu finira par ne recalculer qu'un ou 2 inclure au max par appel.
pour faire ca, c'est simple :
copie/colle de <B_rubriques> à </B_rubriques> dans un fichier /squelettes/inc-plan.html
et tu remplaces cette boucle par <INCLURE{fond=inc-plan}{id_rubrique}> dans ton /squelettes/plan.html
voila
@++
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip