Problème avec le fichier tmp/cache/charger_plugins_fonctions.php
Bonjour,
Sous SPIP 3.0.8 et sous SPIP 2.1.21, si l'on efface le fichier tmp/cache/charger_plugins_fonctions.php, le calcul d'une page ne le régénère pas.
En effet, dans ecrire/public/parametrer.php, on a :
if (`is_readable(_CACHE_PLUGINS_FCT)) { // chargement optimise precompile include_once(_CACHE_PLUGINS_FCT); }
alors que dans ecrire/inc_version.php, on a :
if (`is_readable(_CACHE_PLUGINS_OPT) AND `is_readable(_CACHE_PLUGINS_PATH)){ // chargement optimise precompile include_once(_CACHE_PLUGINS_OPT); } else { `spip_initialisation_suite(); include_spip('inc/plugin'); // generer les fichiers php precompiles // de chargement des plugins et des pipelines actualise_plugins_actifs(); }
Il me semblerait intéressant que ecrire/public/parametrer.php soit modifié pour contenir un code tel que par exemple :
if (!`is_readable(_CACHE_PLUGINS_FCT)) { include_spip('inc/plugin'); // generer les fichiers php precompiles actualise_plugins_actifs(); } if (`is_readable(_CACHE_PLUGINS_FCT)) { // chargement optimise precompile include_once(_CACHE_PLUGINS_FCT); }
En effet, avec ce code, si le fichier tmp/cache/charger_plugins_fonctions.php est effacé, le calcul d'une page le régénère.
Ceci éviterait vraisemblablement ce que je constate actuellement sur des sites, à de rares occasions : une erreur 500 avec dans le fichier de log d'erreurs d'Apache : Call to undefined function ciparam_doctype() in /.../ecrire/public/composer.php(49) : eval()'d code on line 465. Alors que la fonction ciparam_doctype() est dans le fichier ciparam_fonctions.php, que ce dernier est bien déclaré par le plugin et que le plugin est bien activé.
Cordialement Equipement