php : variable post_max_size

  • warning: array_map(): Argument #2 should be an array in /var/www/titouille.ch/www/modules/system/system.module on line 1050.
  • warning: array_keys() expects parameter 1 to be array, null given in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
  • warning: Invalid argument supplied for foreach() in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
Portrait de titouille

Gros coup de stress hier...

J'ai développé un module Drupal basé sur l'excellent Uploadify. Ce module permet non seulement de faire de l'upload de fichiers multiples, mais en + de générer différentes images basées sur des découpes et redimensionnements. Chaque champ est configurable à souhait pour permettre un maximum de possibilités de génération d'images.

Bref. Hier, je devais mettre en place la section d'un site sur laquelle je devais afficher des manuels utilisateur. En local, ma variable php "upload_max_filesize" était à 5Mo. Les fichiers de manuels utilisateur montaient jusqu'à 15Mo. Donc j'avais fait mes tests avec des fichiers légers, et tout roulait.

Sur le site distant, "upload_max_filesize" était à 60Mo. Je me disais donc que des fichiers de 15Mo passeraient sans problème. Je mets donc en place la nouvelle section, le type de contenu "user manuals", et je commence à créer mes contenus. Et là, bam... dès que j'essaie d'uploader un fichier de 10Mo, ça plante lamentablement... Qu'est-ce qui se passe ?? "upload_max_filesize" est pourtant à 60Mo, ça devrait aller comme sur des roulettes, non ?? je reteste, reteste encore, rien...

Là, Je commence à baliser... Si "uploadify" ne permet pas de télécharger des gros fichiers, je suis dans la panade... Je dois créer un site presse pour le même client, et là, ça va y aller fort avec les gros fichiers d'images genre 50Mo... Je commence à faire des recherches. Je vais sur le site d'uploadify, y a des exemples de démo. Je tente de télécharger mon gros fichier sur une démo, ça passe comme sur des roulettes... grrrr. c'est quoi ce foutoir... Mon module serait mal codé ? je me dis qu'il faut peut-être que je fasse la mise à jour avec la dernière version d'uploadify... je m'y mets, 2h de taff pour convertir mon module avec les nouvelles fonctions. Je fais ça à la va-vite car j'ai pas le temps de peaufiner... Pour finir, j'y arrive, je télécharge un petit fichier, ça fonctionne... un gros ? bam, rebelotte, impossible de télécharger le fichier... Raaaaah... Là je sais plus quoi faire...

Je me dis que je vais tenter d'analyser les échanges réseaux... j'ouvre Charles, un web debugger bien sympathique, qui me montre tous les appels réseaux... Là je vois qu'il y a bien un fichier qui est envoyé par méthode POST au serveur, mais dans le watchdog de Drupal, ce fichier n'arrive jamais... Je retente, oui, le fichier est bien là... mais alors qu'est-ce qu'il se passe ?? Et là, l'illumination !!! n'y aurait-il pas une variable PHP qui bloque le POST à un certain poids ???

Ben voilà... "post_max_size" était à 8Mo... Donc forcément, je tente d'envoyer en POST un fichier de 10Mo, php veut pas... Je modifie la valeur pour la passer à 60Mo et là, ben ça passe comme une lettre à la poste !!

4h de perdues pour une variable PHP... ça m'apprendra à penser que les problèmes viennent des modules...