Re: [Galette-discussion] SOS : Exception "Undefined index: language" (je suis bloqué, mise à jour impossible)

[ Thread Index | Date Index | More lists.galette.eu/users Archives ]


Bonsoir Johan,

Le 10 nov. 2021 à 22:52, Johan Cwiklinski <johan@xxxxxxxx> a écrit :

Salut,

Le 10/11/2021 à 20:27, Thierry Marc a écrit :
Bonjour,

sur Galette 9.0.5.1, environnement PHP 7.4.18/nginx/Synology DSM7.

L’histoire :
J’essaie d’ajouter un adhérent : formulaire rempli, je clique sur Enregistrer, et j’obtiens une page blanche (URL /member/store )
Sur ce, je vais dans les logs, et je m’aperçois que j’ai toujours le mode DEV et que donc : «  Database version not checked in DEV mode » . OK, je suis un idiot.

Je commente la définition de DEV dans behavior.inc.php , et là : «  Galette requiert une mise à jour ! ».
OK, je vais à http://ds.local:8033/installer.php .

Problème : 
La page affichée ne contient qu’un cadre « Installation de Galette - Vérifications » ainsi que le petit sélecteur de langue (qui ne fonctionne pas).
Rien d’autre.

Log de nginx : 
——
2021/11/10 20:20:58 [error] 13106#13106: *20618 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught ErrorException: Undefined index: language in /volume1/Galette/lib/Galette/Core/I18n.php:298

Ça m'évoque une extension PHP manquante. L'extension "intl" est elle
bien présente et active ?

Tu peux normalement vérifier sur http://ds.local:8033/compat_test.php

Oui, intl est bien chargée.
La seule extension qui me manque est tidy .


A priori il y a un souci avec la langue « ar » . [...]

Je pense que c'est juste la première dans la liste.
Oui j’ai pensé aussi, mais je ne sais pas l’enlever pour voir si ça plante plus loin. Désolé.


Il y a peut-être aussi une différence entre les langues disponibles sur
un OS "standard" et un synology, je n'ai pas ce genre de matériel, je ne
peux pas tester.
> locale -a
C
cs_CZ.utf8
da_DK.utf8
de_DE.utf8
en_US.utf8
es_ES.utf8
fr_FR.utf8
hu_HU.utf8
it_IT.utf8
ja_JP.utf8
ko_KR.utf8
nb_NO.utf8
nl_NL.utf8
pl_PL.utf8
POSIX
pt_BR.utf8
pt_PT.utf8
ru_RU.utf8
sv_SE.utf8
th_TH.utf8
tr_TR.utf8
zh_CN.utf8
zh_TW.utf8

Voilà :)


Dans le fichier I18n.php, tu peux essayer à la ligne incriminée de mettre :
'shortname' => $parsed_lang['language'] ?? '',

Fantastique ! Rapide et efficace, merci beaucoup :)


Mais je crains que ça ne vienne à foirer plus loin :/


Pour le moment tous mes tests sont OK.
Bravo.

Dis-moi si tu souhaites modifier le code différemment ?
Ou si tu vas introduire ce diff dans main pour ne pas me re-planter à la prochaine mise à jour :)

Cordialement
Thierry



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/