Bonjour,
Le 23/01/2015 14:15, Mathieu TERROBA a écrit :
> Après enquête, il semblerait que la page saisie/saisie_aid.php cherche à
> créer une table temporaire en concaténant "class_temp"
> et le nom de la session PHP en cours. Hors ce nom peut être plus ou
> moins long. Dans le cas de l'ENT Envole, ce nom est plutôt (très) long
> puisqu'il contient l'url du serveur dans une forme simplifiée, plus le
> ticket de service CAS.
>
> Le problème est que par défaut, MySQL autorise au maximum 64 caractères
> pour le nom d'une table (valeur que l'on dépasse allègrement
> avec les ids de sessions de l'ENT).
>
> Je propose de hasher le nom de la table temporaire à créer (en md5 ou
> sha1), ce qui permettra de générer un nom de table d'une taille fixe (32
> chars si je me souviens bien)
> et ainsi éviter ce problème de nom trop long.
>
> Je joins un patch que les développeurs peuvent intégrer
C'est pris en compte avec une petite modif:
$nom_table = "class_temp".md5(SESSION_ID());
au lieu de
$nom_table = md5("class_temp".SESSION_ID());
sans quoi la somme MD5 peut commencer par un chiffre et mysql n'aime pas.
Merci pour le débug et la solution proposée.
--
Stephane Boireau
Collège Le Hameau - Bernay (27)
http://stephane.boireau.free.fr/gadgets/crobards.html
_________________________________________________________________________________
Documentation Gepi en ligne : http://www.sylogix.org/projects/gepi/wiki
Pour modifier ou résilier votre abonnement à cette liste :
https://lists.sylogix.net/mailman/listinfo/gepi-users