Bonjour,
J’ai le même souci sur plusieurs sites au passage de Spip 4.4.19 à 4.4.20 avec spip_loader 7.0.0.
Une page admin /ecrire/ presque toute blanche avec :
Erreur d’exécution …/prive/squelettes/page.html
| Numéro | Message | squelette | boucle | Ligne |
|---|---|---|---|---|
| 1 | Erreur d’exécution …/prive/squelettes/page.html | =File […]/ecrire/public/composer.php(97) : eval()'d code Line 16 : Call to undefined function safe_export_env() | / | / |
//OU//
Erreur d’exécution …/prive/squelettes/page.html
| Numéro | Message | squelette | boucle | Ligne |
|---|---|---|---|---|
| 1 | Erreur d’exécution …/prive/squelettes/page.html | =File […]/tmp/cache/skel/html_6ae39ed8ddbf3175348e9a23f6a882ba.php Line 23 : Call to undefined function safe_export_env() | / | / |
Dans /tmp/cache/skel/html_6ae39ed8ddbf3175348e9a23f6a882ba.php j’ai ce contenu
<?php
/*
* Squelette : ../prive/squelettes/page.html
* Date : Wed, 12 Aug 2026 11:11:36 GMT
* Compile : Tue, 18 Aug 2026 13:09:15 GMT
* Boucles :
*/
//
// Fonction principale du squelette ../prive/squelettes/page.html
// Temps de compilation total: 0.253 ms
//
function html_6ae39ed8ddbf3175348e9a23f6a882ba($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0) {
if (isset($Pile[0]["doublons"]) AND is_array($Pile[0]["doublons"]))
$doublons = nettoyer_env_doublons($Pile[0]["doublons"]);
$connect = '';
$page = (
retablir_echappements_modeles('<'.'?php header(' . _q('Content-Security-Policy: frame-ancestors \'none\'') . '); ?'.'>') .
'<'.'?php echo recuperer_fond( ' . argumenter_squelette('prive/squelettes/structure') . ', array_merge('.safe_export_env($Pile[0]).',[\'type-page\' => ' . argumenter_squelette(retablir_echappements_modeles(interdire_scripts(entites_html(sinon(table_valeur($Pile[0]??[], (string)'type-page', null), (interdire_scripts(entites_html(table_valeur($Pile[0]??[], (string)'exec', null),true)))),true)))) . ',
\'composition\' => ' . argumenter_squelette(retablir_echappements_modeles(interdire_scripts(entites_html(sinon(table_valeur($Pile[0]??[], (string)'composition', null), ''),true)))) . ',
\'lang\' => ' . argumenter_squelette($GLOBALS["spip_lang"]) . ']), array("compil"=>array(\'../prive/squelettes/page.html\',\'html_6ae39ed8ddbf3175348e9a23f6a882ba\',\'\',2,$GLOBALS[\'spip_lang\'])), _request(\'connect\') ?? \'\');
?'.'>
');
return analyse_resultat_skel('html_6ae39ed8ddbf3175348e9a23f6a882ba', $Cache, $page, '../prive/squelettes/page.html');
}
J’ai tenté plusieurs trucs, mais je ne trouve pas.
Pas de gros souci, j’ai mes sauvegardes.
Je suis sur hostinger en php 8.5. En extension php, j’ai activé sodium, yaml et apcu.
J’ai testé :
- le vidage de cache a priori
- le vidage de cache a postériori
- de ne pas avoir de dossier squelettes
- de ne rien avoir dans mes_options.php
- de désactiver tous les plugins avant la MAJ
- en désactivant apcu et yaml
- repasser en php 8.3
- sacrifier un animal
À part le sacrifice qui a modifié une variable php, rien de probant.