FAQ: Questions sur l'installation de phpGedView

De PGVWiki
Révision datée du 8 avril 2007 à 13:14 par Elliott1961 (discussion | contributions) (New page: '''PhpGedView affiche des messages d'erreurs lorsque j'importe des fichiers GEDCOM de taille trop importante. Aide ?''' Il y a deux types de problèmes qui peuvent être la conséquence d...)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

PhpGedView affiche des messages d'erreurs lorsque j'importe des fichiers GEDCOM de taille trop importante. Aide ?

Il y a deux types de problèmes qui peuvent être la conséquence de l'import de fichiers GEDCOM de taille trop importante (>2MB). Pour pouvoir lire les informations qui sont contenues dans un fichier GEDCOM, le fichier doit être lu dans l'espace mémoire. PHP a une limite de taille mémoire disponible pour l'utilisateur. Par défaut cette taille est fixée à 8MB. Cette limite est une protection de votre hébergeur internet afin de sauvegarder l'utilisation des ressources des machines de votre hébergeur par les différents utilisateurs et éviter par exemple une saturation des machines qui pourrait provoquer une indisponibilité par manque de ressource. Cette valeur dépend de la version det de la configuration de PHP. Si vous utilisez un fichier GEDCOM de taille importante, vous devrez probablement doubler cette valeur. Pour changer cette valeur de la taille mamoire qui est allouée par PHP, éditez le fichier php.ini (qui est en génral situé à l'emplacement /etc/php.ini dans un environnement UNIX ou LINUX ou à l'emplacement C:\WINNT\php.ini dans un environnement windows) et modifiez la ligne suivante:

memory_limit = 8M

comme suit:

memory_limit = 16M

Une bonne option serait d'allouer une taille mémoire égale à 4 fois la taille de votre fichier GEDCOM. Ainsi, un fichier GEDCOM de 4Mb devrait pouvoir fonctionner avec une taille mémoire 16Mb accordée par PHP. De même, un fichier GEDCOM de 8Mb pourrait avoir besoin de 32Mb de mémoire accordée par PHP.

Après avoir édité votre fichier php.ini vous aurez besoin de redémarrer votre serveur web.

Cette solution n'est envisageable que si vous avez accès au fichier php.ini file, ce qui n'est possible que si vous disposez des droits d'administrateur sur le serveur. Si vous n'y avez pas accès, vous pouvez essayer de découper votre fichier GEDCOM en plusieurs fichiers de taille plus réduite.

Un autre problème peut apparaître, en particulier sur les machines Windows: il s'agit de la limite de temps de calcule qui est accordée, appelée "time limit". PHP a par défaut un "time limit" de 30 secondes. De nouveau, il s'agit là d'une mesure de sécurité afin d'éviter qu'un programme d'un utilisateur puisse mobiliser pendant trop longtemps le serveur du fait de calculs trop longs. Cette protection est également efficace contre certains hackers. Vous aurez dans ce cas un message d'erreur qui vous indiquera que vous avez dépassé le "time limit". Vous pouvez changer cette valeur de "time limit" en éditant ce paramètre dans le menu de configuration du fichier GEDCOM. Ce paramètre ne doit pas excéder 10 minutes. Une fois que vous avez modifié ce paramètre pour pouvoir importer ce gros fichier GEDCOM, il est conseillé de le réduire afin d'éviter qu'un utilisateur, en essayant d'afficher un arbre généalogique sur 40 générations, bloque les ressources de votre serveur penadnt 10 minutes !