FAQ: Questions sur l'installation de phpGedView

De PGVWiki
Sauter à la navigation Sauter à la recherche

Questions sur l'installation de phpGedView

Comment puis-je savoir si j'ai PHP sur mon site web, ou si je peux faire fonctionner des fichiers php?

En premier lieu vérifiez la documentation en ligne de votre hébergeur web. Souvent, les hébergeurs offrent une variété d'offres très diverses.

Si votre hébergeur ne vous fournit pas cette information, vous pouvez vérifier par vous-même en créant un nouveau document texte que vous appelerez test.php et dans lequel vous copierez la ligne suivante:

<?php phpinfo() ?>

Transférez ce nouveau fichier test.php sur votre site et ouvez-le avec votre navigateur web. Si vous avez PHP, vous verrez une page web qui détaille la version de php ainsi que beaucoup d'autres informations - celà signifie alors que phpGedView devrait fonctionner. Si PHP n'est pas installé, vous devriez alors avoir un message qui ressemble à celui-ci:

Sorry, no php.

Si vous êtes l'administrateur du serveur web et que vous souhaitez unstalle PHP, il vous suffit de télécharger ce logiciel à l'adresse suivante: http://www.php.net.


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 !