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 :
<pre>
if (`is_readable(_CACHE_PLUGINS_FCT)) {
// chargement optimise precompile
include_once(_CACHE_PLUGINS_FCT);
}
</pre>
alors que dans ecrire/inc_version.php, on a :
<pre>
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();
}
</pre>
Il me semblerait intéressant que ecrire/public/parametrer.php soit modifié pour contenir un code tel que par exemple :
<pre>
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);
}
</pre>
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
issue