Bonjour,
[spip 4.2.17, hébergé en hebergement mutualisé chez informaniak, php 8.2]
Je fait face à un bug que je ne comprend pas :
lors d’upload d’un document dans spip j’ai une erreur et le document n’est pas intégré à la médiathèque :
« Erreur de transfert. : SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 5905 of the JSON data »
En analysant les données réseaux dans firefox, il se trouve que le fichier json renvoyé par le serveur contient des données json suivis d’un warning php:
{"name":"whisky2023-35cl.jpg","size":19591,"type":"image\/jpeg","error":0,"bigup":{"formulaire":"joindre_document","formulaire_args":"","formulaire_identifiant":"5457c3","champ":"fichier_upload[]","identifiant":"@ffad0532@","extension":"jpg","vignette":{"width":"87","height":"200","data":"data:image\/jpeg;base64,}}}<br />
**Warning**: include(../squelettes/lang/local_fr.php) [[function.include.php](http://www.php.net/manual/fr/function.include.php)]: Failed to open stream: No such file or directory in **/home/clients/99ee7885f4717f1608e8b7c209fa00ef/sites/adnlaine.fr/ecrire/inc/traduire.php** on line **150**
**Warning**: include() [[function.include.php](http://www.php.net/manual/fr/function.include.php)]: Failed opening '../squelettes/lang/local_fr.php' for inclusion (include_path='.:/opt/php8.1/lib/php') in **/home/clients/99ee7885f4717f1608e8b7c209fa00ef/sites/adnlaine.fr/ecrire/inc/traduire.php** on line **150**
(j’ai écourté les données ici json).
Si je supprime le fichier local_fr.php et que je vide le cache, tout refonctionne, mais je perd mes traductions. Si je met un fichier local_fr.php contenant un array de traduction vide (donc je suis sur qu’il n’y a pas d’érreur de syntaxe php) l’erreur se produit à nouveau.
Par contre le reste de spip n’indique jamais d’erreur vis-à-vis de ce fichier et les traductions sont bien prise en compte quand il est en place.
Je n’ai aucune info dans le logs de spip et dans les logs de php, je trouve la trace de cette erreur, sans information supplémentaires:
adnlaine.fr [Tue May 27 08:53:18.892819 2025] [fastcgi:error] [pid 93761:tid 139757178787584] [client 2a02:842b:8bea:701:192b:842:4a4c:e95d:0] FastCGI: server "/home/clients/99ee7885f4717f1608e8b7c209fa00ef/.config/apache/adnlaine.fr/.fpm/php5.external" stderr: PHP message: PHP Warning: include(../squelettes/lang/local_fr.php) [<a href='http://www.php.net/manual/fr/function.include.php'>function.include.php</a>]: Failed to open stream: No such file or directory in /home/clients/99ee7885f4717f1608e8b7c209fa00ef/sites/adnlaine.fr/ecrire/inc/traduire.php on line 150PHP message: PHP Warning: include() [<a href='http://www.php.net/manual/fr/function.include.php'>function.include.php</a>]: Failed opening '../squelettes/lang/local_fr.php' for inclusion (include_path='.:/opt/php8.1/lib/php') in /home/clients/99ee7885f4717f1608e8b7c209fa00ef/sites/adnlaine.fr/ecrire/inc/traduire.php on line 150, referer https://adnlaine.fr/ecrire/?exec=documents
J’ai désactivé tous les modules que j’ai créé, et j’ai désactivé le pipeline que j’ai mis dans le fichier mes_options.php, j’ai supprimer mon fichier de squelette ‹ mes_fonctions › (après tout ça j’ai vidé le cache et rechargé la page des plugins). Rien n’y fait …
Je suis repassé en php 7.4 et 8.1. Pas mieux …
Pour faire des tests, j’ai aussi supprimé ce fichier (local_fr.php) sans recharger le cache. Là toutes les pages affichent cette même erreur (exactement la même), mais pour le coup c’est normal, puisque spip tente de charger le fichier mais qu’il n’existe pas
Je ne sais pas comment chercher où est le bug… Auriez vous des pistes de réflexion ? Comment chercher des infos ?
Merci beaucoup !
Thomas