Erreur de pipelines suite à migration

Bonjour

Changement d’hébergement en cours, Spip 4.2.11 installé sans souci via spip_loader, migration de la base réussie.
Un souci est apparu en version test avec avec « mes_options.php »
J’ai une série d’erreurs nouvelles, sur les pipelines :

Warning: Undefined array key « autoriser » in xxx/config/mes_options.php on line 13

Mes_options:

 $GLOBALS[ ' spip_pipeline'][' autoriser'] .= "|mes_autorisations";

l’erreur se répète sur plusieurs pipelines.

J’ai aussi cette erreur:

Warning: Constant _STATUT_AUTEUR_RUBRIQUE already defined in xxx/config/mes_options.php on line 27

Qui correspond à :

 // Etendre aux redacteurs la possibilite de leur affecter des rubriques* 
 define('_STATUT_AUTEUR_RUBRIQUE', '0minirezo,1comite');

Je ne comprends pas d’où peut venir l’erreur. J’ai bien sûr désactivé tous les plugins pour tester…

L’affichage de la configuration php via /maintenance m’affiche aussi une erreur :

Fatal error: Uncaught Error: Call to undefined function phpinfo() in xxx/ecrire/inc/utils.php:3345 Stack trace: #0 xxx/ecrire/index.php(155): exec_info_dist() #1 {main} thrown in xxx/ecrire/inc/utils.php on line *3345

Question : Je teste pour l’instant via une modif de mon fichier vhosts, en attendant de transférer le domaine vers le nouvel hébergeur. Est-ce que cela peut avoir une influence?

Remarque : spip me signale que le fichier .htaccess est inopérant, alors qu’il est bien pris en compte. Vérification selon cette méthode: https://connaissances.fournier38.fr

`
Merci de vos idées

c’est parce que l’entrée autoriser de la globale spip_pipelines n’existe pas encore.

Le mieux est de remplacer par

$GLOBALS['spip_pipeline']['autoriser'] = ($GLOBALS['spip_pipeline']['autoriser'] ?? '') . '|mes_autorisations'

mais bon si tu est amené à avoir plusieurs pipelines, sans doute vaudrait-il mieux écrire ton squelette sous forme d’un plugin, cela sera plus simple pour la maintenance / déploiement à long terme et pas très compliqué

ca c’est plus étonnant, est-ce que tu aurais pas redefinie 2 fois cette constante ?

Fatal error: Uncaught Error: Call to undefined function phpinfo() in xxx/ecrire/inc/utils.php:3345 Stack trace: #0 xxx/ecrire/index.php(155): exec_info_dist() #1 {main} thrown in xxx/ecrire/inc/utils.php on line *3345

ca c’est ton hebergeur qui bloque la fonction phpinfo

Remarque : spip me signale que le fichier .htaccess est inopérant, alors qu’il est bien pris en compte.

en general c’est plus l’inverse qui est vrai.

Est-ce que tu peux accéder depuis ton navigateur aux dossier config et tmp ? si oui c’est problématique

j’ajouterai : tous les messages que tu as sotn des warnings qui ne devraient normalement pas être affichable en public, c’est du debug. Il faut que tu modifie ta conf chez l’hebergeur (même s’ils signalent par ailleurs des choses justes)

Merci Maïeul
Effectivement, warnings non affichés en public.

Par contre les erreurs liées aux pipelines apparaissent dès l’installation du mes_options.php dans /config , avant toute modification de squelettes.

Je m’interroge, les pipelines semblent ne pas être chargés au moment où l’appel se fait.
Et certaines fonctionnalités indispensables au site ne sont donc pas disponibles (pipelines pre_insertion, post_insertion, propres_creer_chaine_url…)
EDIT : après re-test, le pipeline pre-insertion semble fonctionner, je vais donc utiliser la solution proposée.

du côté du .htaccess, le fonctionnement est ok, bien que Spip me dise le contraire.
J’ai vu plusieurs fils à ce propos, sans réponse convaincante.
https://discuter.spip.net/t/htaccess-inoperant/128456
https://discuter.spip.net/t/htaccess-inoperant/154590
https://discuter.spip.net/t/htaccess-inoperant-spip-3-0-25/142454
Sans doute existe-t-il une vérification erronnée quelque part, qui indique comme inopérant un fichier valide et actif.

Une question se pose donc:

Si la globale spip_pipelines n’est pas encore initialisée au moment de l’appel à mes_option.php, est-il possible soit de forcer l’initialisation, soit de retarder la prise en compte de `mes_fonctions’
Ou peut-être de préciser dans la doc la manière d’utiliser le pipeline:

Question subsidiaire: je me suis demandé si un module php pouvait manquer au niveau du serveur qui expliquerait le bug. Existe-t-il une liste des modules requis par Spip?

Par rapport au htaccess, il y a plusieurs solutions évoquées dans les fils que tu cites.

Quant à l’erreur avec phpinfo… vu que c’est une fonction basique de PHP, si elle est « undefined » c’est que ton hébergement la bloque et alors peut être d’autres fonctionnalités de base sont désactivées, qui peuvent aussi causer les autres problèmes. Il faudrait te renseigner sur la config de ton hébergement et sur les restrictions et fonctions PHP désactivées/interdites/bridées.