C'est bizarre, j'ai plutot le souci inverse : tendance à faire des caches
identiques ... (quand il y a des parametres passés en GET pas directement
utilisés)
Ce que je ne comprends pas bien, c'est pourquoi une fonction sans parametre
ne devrait pas etre mise en cache ?
Mais je veux qu'elle soit mise dans le cache. Par contre je voudrais que mon PHP soit exécuté
c'est basé sur le temps ? sur des variables globales ?
sur $auteur_session
Est ce que la boucle est directement dans le squelette appelé ou dans un
squelette inclus (ce qui rend la gestion du cache beaucoup plus souple, tu
peux passer explicitement les parametres qui doivent etre pris en compte
dans le contexte pour le caclul du cache) ?
En tous cas, chez moi, si le type de cache est "php", le code est bien
utilisé à chaque fois ...
Tu ne serais pas derriere un proxy par hasard ?
non, c'est en local
Peux-tu nous faire passer un squelette simple sur lequel on puisse
reproduire ?
je suis en train d'essayer mais je n'y arrive pas
Toutefois, j'ai quasiment vidé mon squelette message.html et le pb persiste
voilà le test fait et le spip.log -
le test : vidage du cache puis affichage répétitif de message116136.html
spip.log:
Sep 02 16:50:10 127.0.0.1 (pid 1348) vider le cache
Sep 02 16:50:22 127.0.0.1 (pid 1348) calcul skel message2.html (0.03s)
Sep 02 16:50:22 127.0.0.1 (pid 1348) calcul (0.16s): CACHE/a/spip-message116136.faaaaee7.gz
Sep 02 16:50:22 127.0.0.1 (pid 1348) execution de message.html
Sep 02 16:50:22 127.0.0.1 (pid 1348) calcul skel observer.html (0.01s)
Sep 02 16:50:22 127.0.0.1 (pid 1348) calcul inclus (0.03s): CACHE/4/observer-116136-observer.3830a3b6.gz
Sep 02 16:50:22 127.0.0.1 (pid 1348) execution de observer.html
Sep 02 16:50:29 127.0.0.1 (pid 1345) premier acces: CACHE/a/spip-message116136.faaaaee7.gz (.NEW)
Sep 02 16:50:29 127.0.0.1 (pid 1345) execution de message.html
Sep 02 16:50:29 127.0.0.1 (pid 1345) premier acces: CACHE/4/observer-116136-observer.3830a3b6.gz (.NEW)
Sep 02 16:50:29 127.0.0.1 (pid 1345) execution de observer.html
Sep 02 16:50:33 127.0.0.1 (pid 1345) indexation forum 10644
Sep 02 16:50:33 127.0.0.1 (pid 1345) -> indexation thread 10644,10668,10823,10834,10838,10840,10842,10846,10848,10854,10865,10868,10875,10878,10883,10889,10891,10914,10915,10918,10923,10924,10927,10928,10929,10931,10935,10938,10940,10969,10974,10975,10996,11054,11058,11063,11066,11084,11091,11118,11154,11167,11197,16246
Sep 02 16:50:37 127.0.0.1 (pid 1347) execution de message.html
Sep 02 16:50:37 127.0.0.1 (pid 1347) execution de observer.html
Sep 02 16:50:41 127.0.0.1 (pid 1347) indexation forum 10647
Sep 02 16:50:41 127.0.0.1 (pid 1347) -> indexation thread 10647,10862,10863,10866,14801,15011,15014,19400
Sep 02 16:50:44 127.0.0.1 (pid 1346) execution de message.html
Sep 02 16:50:44 127.0.0.1 (pid 1346) execution de observer.html
Sep 02 16:50:48 127.0.0.1 (pid 1346) indexation forum 10663
Sep 02 16:50:48 127.0.0.1 (pid 1346) -> indexation thread 10663,10669
=> c'est ok, le php est exécuté
ensuite, clic sur la résiliation de l'abonnement (message116136.html?abonnement=non)
Sep 02 16:52:17 127.0.0.1 (pid 311) calcul (0.08s): CACHE/f/136%3Fabonnement%3Dnon.77405d52.gz
Sep 02 16:52:17 127.0.0.1 (pid 311) execution de message.html
Sep 02 16:52:17 127.0.0.1 (pid 311) execution de observer.html
Sep 02 16:52:17 127.0.0.1 (pid 311) DELETE FROM suivi_forums_auteurs WHERE id_auteur=1 AND id_forum=116136
clic sur abonnement (message116136.html?abonnement=oui)
Sep 02 16:52:24 127.0.0.1 (pid 1348) calcul (0.08s): CACHE/2/136%3Fabonnement%3Doui.6d56a929.gz
Sep 02 16:52:24 127.0.0.1 (pid 1348) execution de message.html
Sep 02 16:52:24 127.0.0.1 (pid 1348) execution de observer.html
Sep 02 16:52:24 127.0.0.1 (pid 1348) INSERT INTO suivi_forums_auteurs (id_auteur,id_forum) VALUES (1,116136)
clic sur résiliation (message116136.html?abonnement=non)
Sep 02 16:52:29 127.0.0.1 (pid 1345) indexation forum 10664
Sep 02 16:52:29 127.0.0.1 (pid 1345) -> indexation thread 10664,10667,10716,10725,10765,10767,10793
=> pas d'exécution du PHP ce coup ci et à partir de là, l'enchaînement oui/non n'engendre plus d'exécution du PHP
(note, il y une réécriture d'URL :
Rewriterule ^message([0-9]+)\.html$ message.php3?id_forum=$1&debut_message=0 [QSA,L]
J'ai essayé sans réécriture d'URL avec le même résultat
Voici les fichiers de squelette :
message.php3 (83 Bytes)
message2.html (837 Bytes)
observer.html (4.17 KB)
observer.php3 (83 Bytes)