Erreur de transfert - Image dans un article

Bonjour à toutes et à tous,

Nous nous permettons de vous écrire suite à une migration que nous avons réalisé. Suite à la migration du SPIP (Installation de la version du SPIP nu, import de la base de donnée et la connexion des deux) qui a très bien fonctionné, le site est en ligne, fonctionnel, plus rapide qu’avant.

Nous avons une erreur qui a apparue qui est assez embêtante, et ne maitrisant pas le PHP, nous nous demandons d’où cette erreur pourrait venir ?

En remerciant pour vos conseils,

Librement

erreur_image_SPIP
erreur_image_SPIP_2

Salut, il faudrait regarder dans les outils de dev de firefox ce que renvoie la requête sur le JSON qui pose problème. Sinon, le plus simple pour vous serait de passer en discuter en live sur https://irc.spip.net :slight_smile:

PS : c’est peut-être lié à ce bug #4859 - Problème d'upload sur un NFS (trop lent ?) - bigup - SPIP on GIT si votre site stocke les fichiers images & documents sur un NFS.

@b_b Hello, merci pour la réponse. Je commence par vous partager les erreurs de la console firefox en image. Qu’est ce que vous en dites ?

Il faudrait commencer par voir ce qui génère l’erreur 500 indiquée à la 4e ligne, ça peut se faire en activant le mode « debug » cf Les aides au débuggage de squelettes - SPIP ou en demandant à ton hébergeur d’avoir accès aux logs.

Quand je regarde les logs, je vois dans la minute correspondante ce message :

[Tue Feb 14 10:25:04.088796 2023] [:error] [pid 492628:tid 22798329329408] [remote 81.251.168.226:57024] [client 81.251.168.226] ModSecurity: Warning. Match of "rx ^$" against "FILES_TMPNAMES:file" required. [file "/etc/apache2/conf.d/modsec_vendor_configs/imunify360-full-apache/000_i360_0.conf"] [line "158"] [id "77317957"] [msg "IM360 WAF: Track file upload||File:/tmp//20230214-102500-Y-tTa9rZFKgjA2mzu-uJnQAAjh8-file-watWBX||Size:391808||User:cp353833||SC:/home/cp353833/public_html/ecrire/||T:APACHE||"] [severity "NOTICE"] [tag "service_i360custom"] [tag "noshow"] [hostname "www.obsarm.info"] [uri "/ecrire/"] [unique_id "Y-tTa9rZFKgjA2mzu-uJnQAAjh8"], referer: https://www.obsarm.info/ecrire/?exec=article_edit&id_article=425

Ok, ça explique tout, le bug a déjà été abordé ici Erreur lors d'upload de logo article - #7 par Mattos => il faut contacter ton hébergeur afin qu’il désactive le mod security ou qu’il adapta sa configuration.

Je viens de desactiver le ModSecurity d’Apache, je verrais plus tard pour le réactiver avec une configuration adaptée.

Je ne sais pas combien de temps il faut attendre après la désactivation, mais j’ai pour l’instant l’erreur, « Erreur Transfert ». Je continue de travailler sur la question auprès des techniciens du serveur. Un grand merci.

Informations supplémentaire, suite aux liens que vous nous avez partagé, nous avons souhaité mettre à jour le SPIP avec spip_loader.php, voici le message que nous voyons :
erreur_image_SPIP_JSON_impossible_decrire

Est-ce une question d’autorisation ? Un droit d’utilisateur de la base de donnée (PHP) qui n’est pas conforme ?

Oui, c’est un problème de droits sur le dossier courant.

Je reviens vers vous suite aux résultats suivants :

  • ModSecurity (activation ou désactivation) ne donne aucun résultats
  • Le PHP est bien 7.4
  • Changement de droit du dossier ne fait pas d’effet non plus.

Côté du fournisseur ne peuvent pas nous répondre car c’est plutot de l’ordre de webmaster. De notre nous pouvons faire les modifications nécessaires mais nous n’avons pas de piste pour l’instant.

Je ne vois toujours pas d’où ça peut venir, les deux erreurs (spip_loader et l’erreur de transfert) ont elles la même source de problème…

Pour information à l’installation du SPIP (tout neuf) le spip loader n’arrivait pas à finaliser l’installation (n’arrivait pas à créer de fichier) donc j’ai fait l’import manuellement dans la base pour mettre le site en ligne le plus vite. C’est peut être le même souci…

Avez vous d’autres idées ?

Nous avions eu ces erreurs sur un vieil hébergement « cloud-vps » d’OVH qui avait été mis en place quelques années avant par une personne depuis partie. Personne dans l’association ne sachant gérer cet espace un ami extérieur nous avait donné un coup de main… avant d’être lui-même trop occupé.
Lors du passage en version 4.0 en test il ne nous était plus possible de charger des images : une correction dans le mod_security avait réglé le pb.
Mais de nouveaux pbs avaient surgi à l’activation de plugins et j’avais eu cet échange au sujet des paramètres du php :

Il faudrait changer a minima la valeur de memory_limit à 256M
(…)
Valeurs recommandées sur Recommended Server Settings - Memory issues | Greatives Tutorial
memory_limit = 256M
post_max_size = 128M
upload_max_filesize = 32M
max_input_vars = 3000
max_execution_time = 300​

J’avais pu monter quelques valeurs du php.ini…
Nous avions fini par changer d’hébergement pour aller sur un mutualisé plus adapté à nos capacités de gestion mais où ces valeurs étaient suffisantes :

memory_limit = 256M
post_max_size = 256M
upload_max_filesize = 256M
max_input_vars = 1000
max_execution_time = 120

Ces paramètres aident peut-être mais je ne sais pas s’ils correspondent à votre problème…
Jacques

Que deviennent les logs une fois le mod security désactivé ? « ModSecurity: Warning. Match of "rx ^$" against "FILES_TMPNAMES:file" required. » est toujours là ?

Et quelles sortes de logs regardes tu ?
Il faudrait regarder les logs PHP surtout.

@JLuc @b_b @Jack31
Bonjour,

Suite à des nombreux coup de fil et des échanges avec vous voici notre problème résolu. Donc c’était bien l’extension fileinfo du PHP qu’il fallait activer !
itworks_image_SPIP

Un grand merci au collectif et à chacun et chacune de vous :slight_smile:

Ha super, content que ça fonctionne pour vous, il faudrait peut-être qu’on ajoute ça dans la liste des pré-requis quelque part ping @marcimat ?

1 « J'aime »

Bonjour,

Je ramène le sujet, car j’ai exactement la même erreur lorsqu’on téléverse des logos : Erreur de transfert. : SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data. L’erreur ne se produit pas pour le portfolio.

Nous venons de migrer de SPIP 4.0 à 4.1.11. Nous avons aussi mise à jour PHP 7.4 à PHP 8.1, nous avons fait activer les modules : zlib, imagik, fileinfo, phar, zip.

Nous avons vérifé les valeurs de php.ini, tout est bon.

J’ai remis PHP 7.4 et l’erreur est encore là.

Je n’ai rien dans les logs du serveurs et je n’ai rien dans la console de Firefox. J’ai changé les droits pour les dossiers local et tmp en 775.

modsecurity n’est pas activé sur notre serveur.

Nous avons évidemment vidé le cache de SPIP et du navigateur.

Toute aide serait appréciée!

Regarde par ici Échec ajout fichier zip serveur - #8 par marcimat