Ticket Hash: 0750310f088a1eedfd05f6ddcd302f68e791855f
Title: transliterator_transliterate() crash sur 1&1
Status: Fixed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: Resolution: Fixed
Last Modified: 2015-12-09 10:38:20
Version Found In: 0.7.1
User Comments:

sylvain.philip added on 2015-09-06 16:30:36:

(text/x-fossil-plain)
Quand Garradin tourne sur un hébergement mutualisé 1&1, l'application crashe lorsq'une page du WIKI est appelée (erreur 500). Le problème, c'est qu'aucune erreur n'est récupérable.
En déboguant le code, j'ai pu constater que c'est la fonction  transliterator_transliterate() dans SkrivLite.php qui provoque ce crash.
Pour avoir un rapport d'erreur, il faudrait placer ini_set('intl.use_exceptions', 1) avant l'appel de cette fonction. Ce que j'ai fait.
Ainsi, l'erreur que j'ai récupérée est : unable to open ICU transliterator with id "Any-Latin; Latin-ASCII"

Cela semble signifié que le transliterator n'est pas installé.

Il faudrait donc pouvoir gérer ce cas de figure au niveau du code dans le genre :

try {
   $text = transliterator_transliterate('Any-Latin; Latin-ASCII', $text);
} catch (Exception $e) {
  // appel fonction de remplacement
}

bohwaz added on 2015-09-09 03:00:47:

(text/x-fossil-plain)
Corrigé dans https://fossil.kd2.org/kd2fw/info/97c8ea4c34a1e1278fc098deb2fff73970b215cc

Merci.