Ce genre de problème arrive généralement lors de l'installation d'une extension en développement. C'est-à-dire que ses fonctionnalités ne sont pas stables et qu'elle n'est pas prête à être installée sur un forum en production.
Pour rappel :
- Une extension n'ayant pas atteint un status stable, au minimum [RC], ne doit pas être installée sur un serveur en production
- phpBB-fr n'assure pas le support des extensions n'ayant pas atteint un statut stable. Vous devez vous rapprocher de l'auteur de l'extension.
Rassurez-vous, il est toujours possible de forcer la désactivation d'une extension.
» Ce qu'il ne faut pas faire
Lorsque le forum affiche des erreurs après l'installation d'une extension, beaucoup d'administrateurs ont le mauvais réflexe de supprimer les fichiers de l'extension en question. Cette action ne va pas désactiver l'extension mais au contraire aggraver le problème : phpBB va chercher à charger les fichiers de l'extension alors qu'il ne sont plus présents. Cela va provoquer l'affichage d'erreurs sur toutes les pages du forum (si cela n'était pas déjà le cas).
Vous pouvez également avoir le réflexe de supprimer la ligne correspondante à l'extension dans la base de données. Certes, cela va désactiver l'extension mais ne la désinstallera pas proprement : il peut rester des traces de cette dernière dans la base de données.
» Quelles sont nos recommandations ?
» Méthode 1 : Désactiver l'extension depuis la base de données
Prérequis : Afin de désactiver l'extension depuis la base de données, il faut disposer :
- d'un accès à la base de données pour effectuer une requête,
- du nom de l'extension sous la forme vendor/nom_de_l_extension. Pour une extension qui est située dans le répertoire ext/phpbb/boardrules/, le nom à retenir est phpbb/boardrules.
Il ne vous reste alors plus qu'à exécuter la requête ci-dessous :
- Code: Tout sélectionner
UPDATE phpbb_ext SET ext_active = 0 WHERE ext_name = 'vendor/nom_de_l_extension'
Si votre forum utilise un préfixe de table différent de phpbb_ (ce paramètre a été défini lors de l'installation de phpBB), modifiez-le dans la requête indiquée ci-dessus. Vous devez aussi remplacer vendor/nom_de_l_extension par le nom récupéré juste avant (attention à bien laisser les apostrophes qui entourent ce nom).
Il faut maintenant vider le cache de phpBB pour que la désactivation soit effective. Pour cela, supprimez tous les fichiers contenus dans le répertoire cache SAUF .htaccess et index.htm.
» Méthode 2 : Désactiver l'extension en ligne de commande
Prérequis : Cette méthode est réservée aux utilisateurs expérimentés. Pour l'utiliser vous devez avoir accès à une console en ligne de commande sur le serveur sur lequel est hébergé le forum.
Note : Généralement, ce genre de console n'est pas accessible sur les hébergements mutualisés.
phpBB dispose de quelques options accessibles en ligne de commande dont une pour désactiver les extensions.
En plus de cela, la console de phpBB dispose d'un mode sans échec dans lequel les extensions ne sont pas chargées (option --safe-mode). C'est ce qu'il nous faut.
Pour désactiver une extension, il vous suffit d'exécuter cette commande dans le répertoire où est situé phpBB :
- Code: Tout sélectionner
php bin/phpbbcli.php --safe-mode extension:disable vendor/nom_de_l_extension