Généralités
Voir aussi
« Le plugin ne peut pas démarrer et a été désactivé » - « Plugin cannot start and has been deactivated » ou « Ce plugin est invalide » - « This plugin is invalid »
Cette erreur est habituellement accompagnée par plus de détails qui expliquent pourquoi le plugin est invalide. Elle est généralement causée par un plugin mal installé.
Si vous installez un plugin appelé « test », il y aura un répertoire test dans le dossier mod. Dans ce dossier test il doit y avoir un fichier composer.json : /mod/test/manifest.xml.
- Si ce fichier n’existe pas, cela peut être causé par :
l’installation d’un plugin dans le mauvais répertoire
creating a directory under
/modthat does not contain a pluginun mauvais transfert FTP
unzipping a plugin into an extra directory (
myplugin.zipunzips tomyplugin/myplugin)plugin incompatible
Si vous utilisez un hôte de type Unix et que les fichiers existent dans le bon répertoire, vérifiez les permissions. Elgg doit avoir accès en lecture + exécution sur les répertoires.
Page Blanche (WSOD)
Une page vide, blanche (souvent appelé « écran blanc de la mort » - « white screen of death » ou WSOD) signifie qu’il y a une erreur de syntaxe PHP. Il existe un certain nombre de causes possibles à cela :
corrupted file: try transferring the code again to your server
a call to a php module that was not loaded: this can happen after you install a plugin that requires a specific module.
bad plugin: not all plugins have been written to the same quality so you should be careful which ones you install.
To find where the error is occurring, change the .htaccess file to display errors to the browser.
Set display_errors to 1 and load the same page again. You should see a PHP error in your browser.
Change the setting back once you’ve resolved the problem.
Note
Si vous utilisez le plugin Developer’s Tools, allez dans sa page de configuration et assurez-vous que l’option « Afficher les erreurs PHP fatales » - « Display fatal PHP errors » - est bien activée.
Si l’écran blanc est dû à un mauvais plugin, retirez les derniers plugins que vous avez installé en supprimant leurs répertoires puis rechargez la page.
Note
Vous pouvez désactiver temporairement tous les plugins en créant un fichier vide dans mod/disabled. Vous pouvez ensuite désactiver le plugin responsable via les outils du panneau d’administration.
Si vous avez un WSOD quand vous effectuez une action, comme vous identifier ou publier un article de blog, mais qu’il n’y a pas de message d’erreur, le plus probable est que ce soit causé par des caractères non-imprimables dans le code du plugin. Vérifiez le plugin et supprimez les espaces vides et les nouvelles lignes situés après le tag de fin php (?>).
Page non trouvée
Si vous avez récemment installé votre site Elgg, la cause la plus probable d’une erreur de page non trouvée est que mod_rewrite n’est pas configuré correctement sur votre serveur. Il y a des informations dans la page Installation - Dépannage sur la manière de résoudre cela. La deuxième cause la plus probable est que l’URL de votre site dans votre base de données est incorrecte.
Si vous exécutez votre site depuis un certain temps et commencez soudainement à obtenir des erreurs de page non trouvées, vous devez vous demander ce qui a changé. Avez-vous ajouté des plugins ? Avez-vous modifié la configuration de votre serveur ?
Pour déboguer une erreur de page non trouvée « page not found » :
Confirmez que le lien qui a mené à la page manquante est correct. S’il ne l’est pas, comment ce lien a-t-il été généré ?
Confirmez que les règles de réécriture du
.htaccesssont bien prises en compte.
Erreur de correspondance des jetons de connexion
If you have to log in twice to your site and the error message after the first attempt says there was a token mismatch
error, the URL in Elgg’s settings does not match the URL used to access it. The most common cause for this is adding or
removing the « www » when accessing the site. For example, www.elgg.org vs elgg.org.
This causes a problem with session handling because of the way that web browsers save cookies.
To fix this, you can add rewrite rules. To redirect from www.elgg.org to elgg.org in Apache, the rules might look like:
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^elgg\.org
RewriteRule (.*) https://elgg.org/$1 [R=301,L]
La redirection de non-www vers www pourrait ressembler à ceci :
RewriteCond %{HTTP_HOST} ^elgg\.org
RewriteRule ^(.*)$ https://www.elgg.org/$1 [R=301,L]
Si vous ne savez pas comment configurer les règles de réécriture, demandez à votre hébergeur pour plus d’informations.
Il manque les champs __token ou __ts dans le formulaire. Veuillez recharger la page pour continuer
Toutes les actions Elgg requièrent un jeton de sécurité, et cette erreur se produit quand ce jeton est manquant. C’est un problème soit avec la configuration de votre serveur, soit avec un plugin tierce-partie.
If you experience this on a new installation, make sure that your server is properly configured and your rewrite rules
are correct. If you experience this on an upgrade, make sure you have updated your rewrite rules either in
.htaccess (Apache) or in the server configuration.
Si vous rencontrez ce cas, désactivez tous les plugins tiers et réessayez. Les très vieux plugins pour Elgg n’utilisent pas de jeton de sécurité. Si le problème disparaît lorsque les plugins sont désactivés, c’est dû à un plugin qui devrait être mis à jour par son auteur.
Mode de maintenance
To take your site temporarily offline, go to Administration -> Configure -> Maintenance Mode. Complete the form and hit save to disable your site for everyone except admin users.
E-mail manquant
Si vos utilisateurs signalent que les e-mails de validation ne s’affichent pas, demandez-leur de vérifier leur dossier de spam. Il est possible que les e-mails provenant de votre serveur sont marqués comme spam. Cela dépend de nombreux facteurs : si votre fournisseur d’hébergement a un problème avec les spammeurs, la manière dont est faite votre configuration e-mail de PHP, quel agent de transport de messagerie votre serveur utilise, ou encore si votre hébergement limite le nombre d’e-mails que vous pouvez envoyer en une heure.
Si personne ne reçoit d’e-mail du tout, il est très probable que votre serveur n’est pas configuré correctement pour le courrier électronique. Votre serveur a besoin d’un programme pour envoyer un e-mail (appelé agent de transfert de messagerie - MTA) et PHP doit être configuré pour utiliser le MTA.
Pour vérifier rapidement si PHP et un agent de transfert de mail - MTA « Mail Transfer Agent » - sont correctement configurés, créez un fichier sur votre serveur avec le contenu suivant :
<?php
$address = "your_email@your_host.com";
$subject = 'Test email.';
$body = 'If you can read this, your email is working.';
echo "Attempting to email $address...<br />";
if (mail($address, $subject, $body)) {
echo 'SUCCESS! PHP successfully delivered email to your MTA. If you don\'t see the email in your inbox in a few minutes, there is a problem with your MTA.';
} else {
echo 'ERROR! PHP could not deliver email to your MTA. Check that your PHP settings are correct for your MTA and your MTA will deliver email.';
}
Be sure to replace your_email@your_host.com with your actual email address. Take care to keep quotes around it!
When you access this page through your web browser, it will attempt to send a test email. This test will let you know
that PHP and your MTA are correctly configured. If it fails:
either you get an error or you never receive the email
you will need to do more investigating and possibly contact your service provider.
Fully configuring an MTA and PHP’s email functionality is beyond the scope of this FAQ and you should search the internet for more resources on this. Some basic information on php parameters can be found on PHP’s site
Journaux du serveur
Il est probable que vous utilisiez Apache comme serveur Web. Les avertissements et les erreurs sont écrits dans un journal par le serveur Web et peuvent être utiles pour les problèmes de débogage. Vous verrez généralement deux types de fichiers journaux : les journaux d’accès et les journaux d’erreurs. Les informations de PHP et de Elgg sont inscrites dans le journal des erreurs du serveur.
Linux – The error log is probably in
/var/log/httpdor/var/log/apache2.Windows - Il est probablement dans votre répertoire Apache.
Mac OS - The error log is probably in
/var/log/apache2/error_log
Si vous utilisez un hébergement partagé sans accès ssh, votre fournisseur d’hébergement peut fournir un mécanisme pour obtenir l’accès à vos journaux de serveur. Vous devrez leur poser vos questions à ce sujet.
Comment fonctionne l’inscription ?
Avec une installation par défaut, voici comment fonctionne l’inscription :
L’utilisateur renseigne le formulaire d’inscription et l’envoie
Le compte utilisateur est créé et désactivé jusqu’à sa validation
Un e-mail est envoyé à l’utilisateur afin de valider son compte
Quand l’utilisateur clique sur le lien, le compte est validé
L’utilisateur peut maintenant s’identifier
Les échecs durant ce processus comprennent l’utilisateur qui entre une adresse e-mail incorrecte, l’e-mail de validation marqué comme spam, ou un utilisateur qui ne prend jamais la peine de valider le compte.
Validation de l’utilisateur
By default, all users who self-register must validate their accounts through email. If a user has problems validating an account, you can validate users manually by going to Administration -> Administer -> Users and check the Unvalidated tab.
You can remove this requirement by deactivating the « User Validation by Email » plugin.
Note
La suppression de la validation a certaines conséquences : il n’y a aucun moyen de savoir si un utilisateur inscrit dispose d’une adresse e-mail fonctionnelle, et cela peut laisser votre système ouvert aux spammeurs.
Ajouter manuellement un utilisateur
Pour ajouter manuellement un utilisateur, dans la partie Administrer, accédez aux Utilisateurs. Là, vous verrez un lien « Ajouter un nouvel utilisateur ». Après avoir rempli les informations et soumis le formulaire, le nouvel utilisateur recevra un e-mail avec son nom d’utilisateur et son mot de passe, et un rappel pour changer le mot de passe.
Note
Elgg ne force pas l’utilisateur à changer le mot de passe.
Je suis en train de créer ou viens d’installer un nouveau thème, mais les images ou d’autres éléments ne fonctionnent pas
Assurez-vous que le thème est placé tout en bas de la liste des plugins.
Effacez le cache de votre navigateur et rechargez la page. Pour alléger la charge sur le serveur, Elgg demande rarement au navigateur de charger le fichier CSS. Un nouveau thème modifiera complètement le fichier CSS et un rafraîchissement devrait inciter le navigateur à demander à nouveau le fichier CSS.
Si vous créez ou modifiez un thème, assurez-vous d’avoir désactivé les caches simples et système. Cela peut être fait en activant le plugin Developer Tools, puis en naviguant vers Administration -> Outils de développement -> Paramètres. Une fois que les modifications vous conviennent, réactivez les caches ou les performances en souffriront.
Modification des champs du profil
Dans les paramètres d’administration de Elgg se trouve une page pour remplacer les champs de profil par défaut. Par défaut, Elgg propose deux choix à l’administrateur :
Utilisez les champs de profil par défaut
Remplacez les champs par défaut par un jeu de champs de profil personnalisés
Vous ne pouvez pas ajouter de nouveaux champs de profil aux champs par défaut. L’ajout d’un nouveau champ de profil via l’option de remplacement des champs de profil efface ceux par défaut. Avant de laisser les utilisateurs s’inscrire, il est préférable de déterminer quels champs de profil vous voulez, quels types de champ ils devraient être, et l’ordre dans lequel ils devraient apparaître. Vous ne pouvez pas modifier le type de champ ou réordonner ou supprimer les champs après leur création sans effacer l’intégralité du profil.
Plus de flexibilité peut être obtenue grâce à des plugins. Il y a au moins deux plugins sur le site communautaire qui vous permettent d’avoir plus de contrôle sur les champs de profil. Le plugin Profile Manager est devenu très populaire dans la communauté Elgg. Il vous permet d’ajouter de nouveaux champs de profil quand vous le souhaitez, de modifier leur ordre, de regrouper les champs de profil et de les ajouter au formulaire d’inscription.
Modification de l’inscription
Le processus d’inscription peut être modifié par un plugin. Tout ce qui concerne l’inscription peut être modifié : l’apparence du formulaire, des champs d’inscription différents, des validations additionnelles des champs, des étapes additionnelles, et ainsi de suite. Ces types de changements demandent quelques connaissances de base en HTML, CSS, PHP.
Une autre option est d’utiliser le plugin Profile Manager qui vous permet d’ajouter des champs à la fois aux profils des utilisateurs et au formulaire d’inscription.
- Créez le squelette du plugin
- Modification de l’apparence de l’inscription
Surchargez la vue
account/forms/register- Modification du gestionnaire de l’action d’inscription
Vous pouvez écrire votre propre action pour créer le compte utilisateur
Comment puis-je modifier les paramètres PHP en utilisant .htaccess ?
You may want to change PHP settings in your .htaccess file. This is especially true if your hosting provider does
not give you access to the server’s php.ini file. The variables could be related to file upload size limits,
security, session length, or any number of other PHP attributes. For examples of how to do this,
see the PHP documentation on this.
Utiliser un site de test
Il est recommandé de toujours tester les nouvelles versions ou les nouveaux plugins sur un site de test avant de les exécuter sur un site de production (un site avec des utilisateurs réels). La façon la plus simple de le faire est de maintenir une installation séparée de Elgg avec des comptes factices. Lors des tests, il est important d’utiliser des comptes factices qui ne sont pas des administrateurs pour tester ce que vos utilisateurs verront.
Un test plus réaliste consiste à refléter le contenu de votre site de production sur votre site de test. Suivez les instructions pour dupliquer un site. Assurez-vous ensuite d’empêcher l’envoi d’e-mails à vos utilisateurs. Vous pouvez écrire un petit plugin qui redirige tous les e-mails vers votre propre compte (soyez conscient des plugins qui comprennent leur propre code d’envoi d’e-mail personnalisé, car vous devrez modifier ces plugins). Une fois cela fait, vous pouvez afficher tout le contenu pour s’assurer que la mise à niveau ou le nouveau plugin fonctionne comme vous le souhaitez et ne casse rien. Si ce processus vous semble trop lourd, veuillez vous en tenir à l’exécution d’un site de test simple.
500 - Internal Server Error
Qu’est-ce que c’est ?
Une erreur interne du serveur 500 - Internal Server Error signifie que le serveur web a rencontré un problème en servant une requête.
Causes possibles
- Configuration du serveur web
La cause la plus fréquente pour cela est un serveur mal configuré. Si vous avez modifié le fichier
.htaccesset ajouté quelque chose d’incorrect, Apache renverra une erreur 500.- Permissions sur les fichiers
Il peut également s’agir d’un problème de permissions sur un fichier. Apache doit pouvoir lire les fichiers de Elgg. L’utilisation des autorisations 755 sur les répertoires et 644 sur les fichiers permettra à Apache de lire les fichiers.
Lorsque je télécharge une photo ou que je modifie ma photo de profil, j’obtiens un écran blanc
Il est fort probable que la bibliothèque PHP GD n’est pas installée ou configurée correctement. Vous pourriez avoir besoin de l’aide de l’administrateur de votre serveur.
CSS manquant
Mauvaise URL
Parfois, les gens installent Elgg de sorte que l’URL de base est localhost et essaient ensuite d’afficher le site à l’aide d’un nom d’hôte. Dans ce cas, le navigateur ne pourra pas charger le fichier CSS. Essayez d’afficher la source de la page Web et de copier le lien du fichier CSS. Collez-le dans votre navigateur. Si vous obtenez une erreur 404, il est probable que c’est votre problème. Vous devrez modifier l’URL de base de votre site.
Erreur de syntaxe
Elgg stocke ses CSS sous forme de code PHP pour fournir flexibilité et puissance. S’il y a une erreur de syntaxe, le fichier CSS servi au navigateur peut être vide. La désactivation des plugins tierce partie est la première étape recommandée.
Erreurs de règles de réécriture d’URL - Rewrite rules
Un mauvais fichier .htaccess peut également entraîner une erreur 404 lors de la requête du fichier CSS. Cela pourrait se produire lors d’une mise à niveau si vous oubliez de mettre également à niveau le fichier .htaccess.
Devrais-je modifier la base de données manuellement ?
Avertissement
Non, vous ne devriez jamais modifier manuellement la base de données !
Est-ce que modifier manuellement la base de données va casser mon site ?
Oui.
Est-ce que je peux ajouter des champs supplémentaires aux tables dans la base de données ?
(CÀD : Je ne comprends pas le modèle de données de Elgg donc je vais ajouter des colonnes. Est-ce que vous allez m’aider ?)
Non, c’est une mauvaise idée. Étudiez le modèle de données data model et vous verrez qu’à moins que ce soit une installation très spécifique et hautement personnalisée, vous pouvez faire tout ce que vous voulez avec le modèle de données actuel de Elgg.
Je veux supprimer des utilisateurs. Est-ce que je ne peux pas les supprimer directement de la table elgg_entities ?
Non, cela va corrompre votre base de données. Supprimez-les via le site.
Je veux supprimer du spam. Est-ce que je ne peux pas juste le rechercher et le supprimer dans la table elgg_entities ?
Non, cela va corrompre votre base de données. Supprimez-le via le site.
Quelqu’un sur le site communautaire m’a dit de modifier manuellement la base de données. Est-ce que je devrais le faire ?
Qui étais-ce ? Est-ce quelqu’un d’expérimenté avec Elgg, comme l’un des développeurs du noyau ou un auteur de plugins bien connu ? Est-ce qu’il ou elle vous a donné des instructions claires sur quoi modifier ? Si vous ne savez pas qui c’est, ou si vous ne comprenez pas ou n’êtes pas à l’aise avec ces instructions, ne modifiez pas la base de données manuellement.
I know PHP and MariaDB and have a legitimate reason to edit the database. Is it okay to manually edit the database?
Assurez-vous d’abord de bien comprendre le modèle de données de Elgg et le schéma. Faites un backup, modifiez avec soin, puis testez généreusement.
Problème de connexion d’Internet Explorer (IE)
URL canonique
IE does not like working with sites that use both http://example.org and http://www.example.org. It stores multiple
cookies and this causes problems. Best to only use one base URL. For details on how to do this see Login token mismatch error.
Cadre Chrome
Utiliser le cadre Chrome au sein de IE peut rompre le processus d’authentification.
Les e-mails ne supportent pas les caractères non-latins
Pour prendre en charge les caractères non-latins, (tels que Cyrilliques ou Chinois) Elgg a besoin du support des chaînes de caractère multibyte multibyte string support soit compilé dans PHP.
Sur de nombreuses installations (par ex. Debian & Ubuntu), c’est activé par défaut. Si ce n’est pas le cas, vous devez l’activer (ou recompiler PHP pour l’inclure). Pour vérifier si votre serveur prend en charge les chaînes multioctets - multibyte -, vérifiez phpinfo.
Durée de session
Session length is controlled by your PHP configuration. You will first need to locate your php.ini file. In that
file will be several session variables. A complete list and what they do can be found in the php manual.
Un fichier n’a pas de propriétaire
Il y a trois causes à cette erreur. Vous pourriez avoir une entité dans votre base de données qui a un owner_guid de 0. Cela devrait être extrêmement rare et ne peut se produire que si votre base de données/serveur plante lors d’une opération d’écriture.
La deuxième cause serait une entité où le propriétaire n’existe plus. Cela peut se produire si un plugin désactivé a été impliqué dans la création de l’entité, puis que le propriétaire est supprimé, mais l’opération de suppression a échoué (parce que le plugin est désactivé). Si vous pouvez comprendre quelle entité est à l’origine de cette situation, regardez dans votre table entities et modifiez le owner_guid pour le vôtre, puis vous pouvez supprimer l’entité via Elgg.
Avertissement
Lisez la section « Devrais-je modifier la base de données manuellement ? ». Soyez très prudent lors de l’édition directe de la base de données. Cela peut briser votre site. Faites toujours une sauvegarde avant de faire cela.
Pas d’image
Si des images de profil, des images de groupe ou d’autres fichiers ont cessé de fonctionner sur votre site, il est probable qu’il s’agit d’une mauvaise configuration, surtout si vous avez migré vers un nouveau serveur.
Ce sont les erreurs de configuration les plus courantes qui bloquent le fonctionnement des images et d’autres fichiers.
Mauvais chemin pour le répertoire des données
Make sure the data directory’s path is correct in the settings.php file. It should have a trailing slash.
Mauvaises permissions sur le répertoire des données
Vérifiez les permissions du répertoire des données. L’utilisateur du serveur web devrait pouvoir lire et écrire dans le répertoire des données.
Avertissements d’obsolescence
Si vous voyez de nombreux avertissements de dépréciation qui disent des choses comme
Deprecated in 1.7: extend_view() was deprecated by elgg_extend_view()!
alors vous utilisez un plugin qui a été écrit pour une ancienne version de Elgg. Cela signifie que le plugin utilise des fonctions qui vont être supprimées dans une future version de Elgg. Vous pouvez demander au développeur de plugin si le plugin sera mis à jour, ou vous pouvez mettre à jour le plugin vous-même. Si aucune de ces alternatives n’est susceptible de se produire, vous ne devriez pas utiliser ce plugin.
JavaScript ne fonctionne pas
Si le menu utilisateur qui apparaît au survol cesse de fonctionner ou si vous ne pouvez pas supprimer les messages système, cela signifie que JavaScript est cassé sur votre site. Ceci est généralement dû à un plugin ayant un mauvais code JavaScript. Vous devriez trouver le plugin à l’origine du problème et le désactiver. Vous pouvez le faire en désactivant les plugins tierce partie un par un jusqu’à ce que le problème disparaisse. Une autre approche consiste à désactiver tous les plugins tierce partie, puis à les activer un par un jusqu’à-ce que le problème se reproduise.
La plupart des navigateurs Web vous donneront un indice quant à ce qui casse le code JavaScript. Ils disposent souvent d’une console pour les erreurs JavaScript ou un mode avancé pour afficher les erreurs. Une fois que vous voyez le message d’erreur, il est plus facile de localiser le problème.
Les adresses IP dans les journaux sont incorrectes
When your Elgg installation is behind a proxy server or load balancer the IP addresses logged in the System Log plugin can be wrong. It could show only the IP addresses for the proxy server.
Afin de résoudre ceci, vous pouvez configurer les adresses IP du serveur proxy comme adresses IP de confiance, ce qui permettra au système d’accéder aux bonnes IPs de vos utilisateurs.
Dans le fichier settings.php, vous pouvez configurer des paramètres pour $CONFIG->http_request_trusted_proxy_ips et $CONFIG->http_request_trusted_proxy_headers. Regardez dans le fichier settings.php pour plus d’information.