Erreur 500 lors de la saisie d'un règlement incomplet de facture

Bonjour à tous,

Je suis face à un problème bloquant lorsque je saisi le règlement sur une facture d’un tiers :

Ce tiers règle une partie de sa facture - ce qui n’est pas un problème en soi.
Par contre, quand je renseigne le règlement avec le montant reçu (différent du montant total de la facture) et valide le règlement, j’ai une erreur 500 :

Quelqu’un a-t-il déjà eu ce problème ou le connait ?

Pour info, j’utilise la dernière version 16.0.3 de Dolibarr sous PHP 7.4.29 sur un hébergement mutualisé.

Merci beaucoup de votre aide

Bonjour

Erreur 500 = erreur PHP
Que disent les logs du serveur ?

Bonjour,
Merci pour votre réponse.
Mon hébergement mutualisé (OVH) ne me permet pas d’avoir accès des logs complets :frowning:
Je vois juste ce log :
[05/Dec/2022:22:43:54 +0100] "POST /compta/paiement.php HTTP/1.1" 500 - "https://******.fr/compta/paiement.php"
Je ne sais pas trop comment renseigner plus mon problème, si vous avez des idées …

Bonjour,

OVH permet tout à fait de consulter les logs.
Le log que vous avez regardé c’est le log « Access » on aurait besoin du log « error »

Bonjour,
Merci pour votre réponse.
Justement, je n’ai rien dans le log « error » sous OVH :frowning: … du coup, je ne comprends pas comment avoir une Error 500 sur mon Dolivarr mais invisible depuis les logs ?

Bonjour à tous,

En recherchant à nouveau, je n’ai rien trouvé dans mon compte OVH … je suis sur une offre Perso sur OVH, est-ce que cela change qq chose ?

Selon l’aide d’OVH, ils évoquent :

  • le fichier .htaccess → j’ai tenté de le supprimer temporairement, rien à changer ;
  • ou alors les permissions sur les dossiers et les fichiers.

Je trouve cela étrange alors que l’ensemble de mon Dolibarr semble fonctionner sans soucis …

Merci de votre aide

Bonjour,

Étrange d’avoir une erreur 500 et rien dans les logs…

Essayez, de manière temporaire, de rajouter ces deux lignes en haut du fichier /compta/paiement.php

ini_set('display_errors', 1);
error_reporting(E_ALL);

ici par exemple : https://github.com/Dolibarr/dolibarr/blob/7a6e63befd095bd66ffc02fab550122b96de02b9/htdocs/compta/paiement.php#L34

Et re-tenter

Bonjour,

Il faut consulter les logs php-fpm et/ou cgi si cela existe sur votre hébergement. Il n’y aura rien dans les logs apache si php tourne en fast cgi (le contraire serait étonnant).

Bonjour @ksar et @pascal_z,
Merci pour votre aide et astuces.

J’ai ajouté les deux lignes en haut du fichier /compta/paiement.php et re-tenté de saisir un règlement partiel sur une facture impayée => erreur 500 sur ce fichier et toujours rien dans les logs web ou error sur OVH.
Les logs « cgi » sont vides.

Je ne sais pas où regarder du coup … :frowning:

Bonjour, je pense qu’il faut d’abord activer le module natif de Dolibarr « Journaux et traces de Debug »

Cdt,
Djaber

Merci @djaber .

J’ai trouvé et recherché dans le fichier dolibarr.log.
Voici les quelques lignes d’alertes ou erreurs que j’ai identifié :

2023-02-19 17:06:03 WARNING 2a01:e0a:1f5:7e30:9d55:2d45:6f01:6de4 Functions.lib::dol_print_date function called with a bad value from page /compta/paiement.php

2023-02-19 17:06:03 ERR 2a01:e0a:1f5:7e30:9d55:2d45:6f01:6de4 DoliDBMysqli::close Closing a connection with an opened transaction depth=2

2023-02-19 17:06:03 WARNING 2a01:e0a:1f5:7e30:9d55:2d45:6f01:6de4 — End access to /compta/paiement.php (Warn: db disconnection forced, transaction depth was 2)

Merci de votre aide

Vérifiez la compatibilité PHP et MySQL avec votre version Dolibarr.

Cdt,
Djaber

Merci @djaber, mon installation est sur PHP 7.4.29 et MySQL 5.7.41.

Pour préciser : j’arrive à saisir des règlements de factures quand ces derniers permettent directement de solder le montant. L’erreur 500 se présente uniquement lorsque je cherche à saisir des règlements partiels. :frowning:

Et la version de votre Dolibarr ?

Actuellement, je suis sur la dernière version de Dolibarr : 16.0.4.
Merci de votre aide.

Dans ce cas, je pense que vous devez vérifier les logs de votre serveur apache.
Excepté des erreurs de votre seveur ou de modules externe, rien ne provoque cette erreur sur cette version, même si ça beugue dans d’autres modules par exemple recherche rapide dans produits.
Si vous n’utilisez pas de module externe, une réinstallation de la même version peut résoudre votre problème.

Cdt,
Djaber

Bonjour, merci pour votre réponse.

Le problème est que je ne retrouve rien dans les logs Apache.

Lors du passage à la 16.0.4, j’ai justement procédé à une réinstallation complète.
Toujours le même problème :frowning:

Vous pensez que cela provient d’un effet de bord d’un autre module ?
Lequel pourrait être la cause ? Module Produits/Services ?
Existe-t-il un moyen de savoir « le lien » entre les différents modules ?

Merci de votre aide