Forum concernant les demandes de support pour tout problème de mise à jour d'un forum phpBB 3.3.x depuis une version antérieure ou d'une conversion de phpBB2 ou phpBB3 vers phpBB 3.3
Bonjour.
Avant de pousser la mise à jour en prod, je fais d'abord un test en local via un serveur docker. Je n'ai jamais eu de souci que je ne puisse régler moi-même.
Mais là, je cale.
Je mets à jour en remplaçant mes fichiers par ceux proposés dans le pack d'installation, à l'exception de config.php, /images /files et /store, puis je lance la mise à jour de la BD via l'adresse localhost/mon-site/install et vire ensuite le dossier install.
Mais là, je reste bloqué sur la page de connexion.
Si la base de données utilisée dans le docker est celle du serveur en prod, alors c'est normal.
Depuis phpBB 3.3.16, il faut impérativement faire correspondre les informations de la base de données avec l'url utilisée pour accéder au forum.
J'ai eu un souci analogue en tentant une mise à jour 3.3.10 vers 3.3.17, sur un serveur de test.
Il a fallu que je change le nom de domaine dans la base de données pour que ça marche.
Donc si je comprends bien, maintenant, il faut que le domaine déclaré dans la configuration soit le même qui sert à accéder au serveur ?
Comment je fais si je veux en avoir plusieurs ?
Mon forum, par exemple, est accessible en IPv4 et en IPv6 avec le même domaine.
Certains utilisateurs ayant rencontré des problèmes avec l'IPv6, je leur ai fourni un domaine alternatif, défini en IPv4 seulement.
Si j'ai bien compris, je ne vais plus pouvoir faire ça ?
Ne serait-il pas nécessaire, dans ce cas, que la configuration de phpBB permette une liste de plusieurs domaines possibles, plutôt qu'un seul ?
Pour des raisons bien évidentes de sécurité, tout a été fait pour résoudre les soucis mis en évidence.
Ce n'est pas pour revenir en arrière, un site/forum ne doit avoir que une seule adresse...
S'il y a des soucis de connexion, il faut revoir les paramètres du domaine et du serveur.
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Il me semble qu'il ne serait pas très compliqué de faire en sorte qu'il soit possible d'écrire plusieurs noms de domaine dans le champ "Nom de domaine", par exemple séparés par des virgules, et de les tester l'un après l'autre dans la validation du formulaire.
Ce ne serait pas un souci de sécurité non plus, le nombre de domaines étant une liste fermée, et ce ne serait pas revenir en arrière non plus.
Et cela n'interdirait pas non plus de n'en mettre qu'un seul si jamais on veut réellement qu'il n'y en ait qu'un seul.
Les certificats SSL eux-mêmes permettent plusieurs domaines, il n'a pas été requis que chaque site web n'ait qu'un seul domaine, alors pourquoi pas les forums phpBB ?
Donc, on ne va pas tourner en rond indéfiniment, il ne peut y avoir que uniquement une seule adresse, c'est un point restrictif techniquement incontournable pour une sécurité complète.
S'il y a des problèmes d'accès IPV4 ou IPV6 c'est alors que la zone DNS est mal configurée.
Donc cela se résout en amont coté zone DNS du domaine, pas avec des pansements dans phpBB.
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
Mais en revanche, je n'ai pas le pouvoir de modifier les configurations des zones DNS ou bien du routage des connexions de chacun des utilisateurs de mon forum.
C'est en réponse à des demandes de certains d'entre eux qui avaient des soucis avec leur propre connexion IPv6 que j'ai créé cette alternative.
Enfin bon.
Autrement dit, si je comprends bien, je n'ai plus qu'à patcher le code moi-même.
Ce n'est pas trop difficile, d'ailleurs, le changement, apparemment, se trouve dans la fonction extract_current_hostname() du fichier /phpbb/session.php, et il suffit de redonner à cette fonction le contenu qu'elle avait dans la version 3.3.15.
La précédente version de cette fonction récupérait le nom de domaine depuis la requête du client alors que la nouvelle va plutôt le prendre dans la configuration du forum.
Changement qui me semble un peu problématique, d'ailleurs, car il suffit de faire une erreur dans la saisie de ce nom dans la configuration pour se retrouver potentiellement bloqué hors de son forum, même pour les administrateurs, et de ne plus avoir pour ressource que de modifier directement la base de données.
Bon, j'ai fait un peu « mieux », on va dire, en réintroduisant l'ancienne fonction à côté de l'autre sous le nom « extract_current_hostname_legacy() », et de conditionner l'appel de l'une ou de l'autre, dans « session_begin() », plus loin dans le même fichier, à la présence d'un @define('PHPBB_CUSTOM_LEGACY_LOGIN', true); ajouté dans /config.php.
Gingko
Modifié en dernier par Steph le 09 juil. 2026 à 16:17, modifié 1 fois.
Raison :Suppression de la citation inutile