Erreur 500 en cas de soucis avec Memoisation
Bonjour,
SPIP : 3.2.19 Cachelab : 1.2.2
Je travaille en local sur un environnement de DEV.
Quand j'importe la base en production dans le SPIP en DEV, je ne sais pas encore pourquoi, mais, memoization se désactive (2.1.11).
Au premier appel d'une page, si celle ci fait appel à cachelab (ex : duree minuit) : erreur 500.
Recalcul squelette cachelab article 3464 pour : 600secondes
[Thu Nov 30 16:46:31 2023] PHP Fatal error: Uncaught Error: Call to a member function set() on null in /home/eldk/SANDBOX/domain/domain.tld/plugins/auto/cachelab/v1.2.2/inc/cachelab_invalideur.php:166
Stack trace:
#0 /home/eldk/SANDBOX/domain/domain.tld/ecrire/public/cacher.php(266): maj_invalideurs('8e5c0c59111e614...', Array)
#1 /home/eldk/SANDBOX/domain/domain.tld/ecrire/public/cacher.php(325): creer_cache(Array, '8e5c0c59111e614...')
#2 /home/eldk/SANDBOX/domain/domain.tld/ecrire/public/assembler.php(328): public_cacher_dist(NULL, 1, '8e5c0c59111e614...', Array, 1701359191)
#3 /home/eldk/SANDBOX/domain/domain.tld/ecrire/public/assembler.php(116): public_produire_page_dist('article', Array, 1, '8e5c0c59111e614...', NULL, Array, 1701359191, NULL)
#4 /home/eldk/SANDBOX/domain/domain.tld/ecrire/public.php(117): assembler('articl in /home/eldk/SANDBOX/domain/domain.tld/plugins/auto/cachelab/v1.2.2/inc/cachelab_invalideur.php on line 166
Je cherche pourquoi Memoization se désactive à chaque rechargement de la base.
Mais il serait peut-être judicieux de tester ici si $Memoisation existe avant de faire le set pour ne pas planter toutes les pages faisant appel à cachelab. ?? + un message dans les logs pour indiquer que Memoization est manquant ?
??
$Memoization ? $Memoization->set($fichier, $page, 3600+$duree) : null;
Merci,
Eric