Erreur en modifiant un utilisateur

Bonjour,

Quand je modifie un utilisateur, après clic sur le bouton « enregistrer », j’obtiens une erreur 403.
Cela se produit :

  • Quelque soit l’utilisateur
  • Même si je fais « modifier » puis tout de suite « enregistrer » (aucune modification concrètement sur la fiche)

J’ai remarqué cette erreur après changement d’hébergeur de Proxgroup vers Pulseheberg. En tout cas, c’est a priori la seule chose qui a changé et qui peut avoir entrainé l’apparition de ce défaut.
J’étais en 13.0.2, j’ai migré en 15.0.0 pour voir si cela règle la question, mais cela n’a rien changé.
Version de PHP : 8.0.16 (exécuté comme application FPM servi par Apache)

J’ai fait un ticket chez notre hébergeur PulseHeberg et il m’a indiqué les détails suivants sur l’erreur PHP :

AH01071: Got error 'PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210PHP message: PHP Warning: Use of undefined constant label - assumed 'label' (this will throw an Error in a future version of PHP) in /var/www/vhosts/link6.fr/pgi.link6.fr/htdocs/core/class/html.form.class.php on line 7210', referer: https://pgi.link6.fr/htdocs/comm/action/card.php?action=create&datep=20220221175510&origin=order&originid=2819&socid=2403&backtopage=%2Fhtdocs%2Fcommande%2Fcard.php%3Fid%3D2819

Merci beaucoup de votre aide !
Bonne journée

Bonjour @Link6 ,

V13 n’est pas compatible php8 et V15 commence à l’être quasi à 100%
repasse en php 7 pour voir ?

Bonjour,
Merci de la réponse.
Je ne l’ai pas précisé mais j’ai testé plein de versions de PHP 7 et plus vieux encore… En fait tout ce qui proposé dans mon hébergement.
Le résultat reste le même.

Et pour suivre ton conseil, je suis effectivement revenu en PHP 7.4.28 (et aussi, car je n’arrivais pas à afficher les fiches Tiers en PHP 8).

mince ^^

Je n’ai pas le temps de regarder : mais tu sais ce que c’est que ce « label » ?
tu as quelque chose de particulier sur tes user? (des extrafields ?)

Tu as des modules externes installés ? (dolistore)
Tu as des modifs dans le core ?

Merci,
J’ai essayé de regarder dans le code, mais je ne suis pas trop compétent… et je ne sais pas ce qu’est ce « label ». Quelqu’un sait ?

Aucun extrafield mais c’est vrai que ça aurait été une bonne piste :wink:

J’ai beaucoup de modules externes malheureusement (je sais que ça n’ai pas recommandé, mais il faut bien pouvoir faire ce qu’on a à faire).

J’avais sous 13.0.2 avant de migrer le module infras qui faisait une modif du core mais en 15.0.0 je n’ai pas fais la modif vu que le module n’est tout simplement pas encore compatible.

merci encore

Bonjour

Ce n’est pas déconseillé loin de là ! C’est d’ailleurs l’un des grands intérêts de Dolibarr de pouvoir compléter par des modules spécifiques.
Par contre vos modules eux ne sont peut-être pas compatibles php8.
@+

Merci de votre aide.
Effectivement et de fait, je n’ai jamais vraiment expérimenté de déconvenue avec mes nombreux modules.
Je suis revenu en PHP 7 et le symptôme persiste.
Comme écrit, j’avais le même défaut en 13.0.2 avant de passer en 15.0.0

Bonne journée à tout le monde.
Sébastien

Bonjour,

vu l’erreur, ça peut être une erreur de codage. Avec les différentes évolutions de php, des petites erreurs de ce type sont devenues soit juste des warning, soit carrément des erreurs bloquantes (ce qui semble maintenant être ton cas).

A vérifier dans le code.

Merci beaucoup.
Mais ça veut dire quoi « À vérifier dans le code. » concrètement pour moi ?

A moins que tu t’y connaisses en PHP, tu ne peux rien faire. C’est à un dev de regarder. J’ai regardé le code de la version 15 dans le fichier cité dans l’erreur sans rien trouver pouvant justifier cette erreur.
Mais pour être honnête, j’ai regardé rapidement ce matin avant de partir chez un client, je dois creuser un peu plus.

C’est déjà très sympa, merci.
Comme dis plus haut, j’avais déjà le problème sur la version 13.0.2.
Mais par contre l’erreur est apparue je suppose quand j’ai changé d’hébergeur (j’étais chez Proxgroup mais PulseHeberg a racheté Proxgroup et nous avons du migrer). Après je dis je suppose car, je ne modifie mes utilisateurs très souvent.
Merci encore si tu veux bien regarder quand tu auras le temps comme proposé.

J’ai l’impression que l’erreur qui t’as été fourni par ton fournisseur n’a rien à voir avec ton problème. C’est un PHP Warning, d’une action sur une commande alors que ton problème est l’affichage d’une page d’erreur 403 qui dit que le système n’a pas les droits d’accès sur l’emplacement où il doit se rendre (page ou répertoire)

Merci,
Oh le vilain !
Est-ce que je peux vérifier les droits sur un dossier ou sur un fichier en particulier dans l’hébergement ?

Ben, en général, les droits sur les fichiers et répertoires doivent être accordés à l’utilisateur du process qui gère le site web.
Regarde si l’ensemble des doits sur les fichiers et répertoires est partout pareil.
Ton problème vient de la gestion des utilisateurs: regarde du coté htdocs/user/card.php ou htdocs/user/list.php

Merci.
Ces 2 fichiers sont en :

  • Propriétaire : Lire et écrire
  • Groupe : Lire et écrire
  • Autres Lire

Pour comparer c’est exactement comme htdocs/societe/car.php

J’ai relancé l’hébergeur en lui demandant s’il peut regarder à nouveau pour l’erreur.

Ce ne sont pas nécessairement ces 2 fichiers qu’il faut regarder (ils ne sont surement pas la cause de l’erreur d’ailleurs, car ils s’exécutent ET causent l’erreur apparemment)

Par contre, ils essaient d’accéder à quelque chose où là, le user qui exécute le serveur web n’a pas accès. (ce qui a pu se passer quand tu as déménager : les droits de tous les répertoires et fichiers n’ont pas du suivre)

Surtout, si tu ne maitrises pas : ne lance pas ces commandes « au pif pour voir »: tu pourrais ne plus avoir accès à rien

Si tu as accès à une console, les droits que j’applique sont :
chmod -R 555 htdocs/
chmod -R 400 documents/install.lock
chmod -R 400 htdocs/conf/conf.php
chmod -R 755 htdocs/custom/
chmod -R 755 documents/
chmod -R 555 scripts/
(les chemins dépendent bien entendu de ton installation…)
Le propriétaire et le groupe propriétaire sont ceux du user du service web www-data généralement… mais à voir là aussi sur ton serveur.
chown -R www-data:www-data le_rep_de_base

Surtout, si tu ne maitrises pas : ne lance pas ces commandes « au pif pour voir »: tu pourrais ne plus avoir accès à rien

mais tu peux en parler à ton hébergeur :slight_smile:

J’ai voulu le suggérer mais chez les hébergeurs, ce n’est pas toujours www-data

Merci à tous les 2.
C’est un hébergement mutualisé et je n’ai pas d’accès en console. Juste un gestionnaire de fichiers.
Et comme nous sommes en production, je ne m’y risquerais pas.
Par contre, je vais transmettre si besoin au support de l’hébergeur (j’attends un retour déjà sur l’erreur).

@emheyarssi d’où les messages en gras :wink:

Yep ! :smiley: