Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/06/2012, à 11:06

buzut

Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Bonjour à tous,

je crois que le titre est assez explicite. Alors quand je dis "gros fichiers" c'est gros fichier de plusieurs gigas. Tout fonctionne sans problème jusqu'à un peu plus de 1Go, ensuite sous Firefox, la connexion est réinitialisée, sous Safari, il me dit que $_FILES n'existe pas.

Je précise à toute fin utile que ce n'est pas à cause d'un timeout puisque l'erreur arrive après quelques minutes maximum. De plus lors d'un test d'upload sur une connexion moins rapide avec un fichier < 1Go, tout fonctionne bien alors que le temps d'upload ≈ 1 heure.

php.ini :
max_execution time = 10800
max_input_time = 10800
post_max_size = 5500M
upload_max_filesize = 5000M

et dans le apache2.conf, le timeout est à 10800 aussi.

Voilà, si vous avez une idée… je suis tout ouïe smile

Merci

Dernière modification par buzut (Le 01/07/2012, à 00:32)

Hors ligne

#2 Le 29/06/2012, à 11:26

bruno

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Tu as les logs d'apache ?
Regarde aussi du côté de session.gc_maxlifetime dans le php.ini

Ceci dit le protocole HTTP n'est pas fait pour envoyer d'aussi gros fichiers…

Hors ligne

#3 Le 29/06/2012, à 11:53

buzut

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Voilà pour les error logs concernés :

[Fri Jun 29 07:21:58 2012] [error] [client 192.168.0.1] Invalid Content-Length, referer: http://192.168.0.12/upload
[Fri Jun 29 08:43:18 2012] [error] [client 192.168.0.1] PHP Notice:  Undefined index: file_name in /home/buzeo/buzeo/modules/upload/controllers/UploadController.class.php on line 41, referer: http://192.168.0.12/upload
[Fri Jun 29 09:21:24 2012] [error] [client 192.168.0.1] PHP Notice:  Undefined index: file_name in /home/buzeo/buzeo/modules/upload/controllers/UploadController.class.php on line 41, referer: http://192.168.0.12/upload
[Fri Jun 29 10:35:06 2012] [error] [client 192.168.0.1] PHP Notice:  Undefined index: file_name in /home/buzeo/buzeo/modules/upload/controllers/UploadController.class.php on line 41, referer: http://192.168.0.12/upload

Ensuite j'ai aussi pensé, comme tu le dis, à des limites inhérentes à l'http… Dans ce cas, pas grand chose à faire malheureusement.

En ce qui concerne session.gc, j'y avais pas pensé en effet. Je l'ai donc mis à 10800 aussi, sous Firefox ça ne change rien, sous Safari pour l'instant ça à l'air d'uploader…

Hors ligne

#4 Le 29/06/2012, à 12:11

Pseudo supprimé

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

memory_limit >supérieur à> post_max_size >supérieur à> upload_max_filesize

Je dirais que 1024 Mo d'upload http, c'est déjà très très bien...

#5 Le 29/06/2012, à 12:15

bruno

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

La ligne intéressante est celle-ci (les autres sont dues à des erreurs mineures de codage PHP) :

[Fri Jun 29 07:21:58 2012] [error] [client 192.168.0.1] Invalid Content-Length, referer: http://192.168.0.12/upload

Là je sais d'où cela vient mais cela vaudrais le coup d'examiner les scripts PHP pour voir s'il agissent sur les en-têtes HTTP.

Hors ligne

#6 Le 29/06/2012, à 16:47

buzut

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Désolé du retard ! Ouais bon, j'en demande peut-être un peu trop à http, 1Go c'est déjà bien smile

Mon script ne touche pas du tout aux en-têtes, je ne sais pas si ça t'intéresses quand même d'y jeter un oeil ?

Bruno a écrit :

Là je sais d'où cela vient

"Invalid Content-Length" je suppose, mais contenu de quoi ? de ma requête ? Le seul contenu qui puisse être trop long c'est justement le fichier.

Bruno a écrit :

les autres sont dues à des erreurs mineures de codage PHP

Si tu fais référence à "PHP Notice:  Undefined index: file_name in…", petite erreur de nom dans mon script en effet, j'ai oublié de remettre le bon offset pour $_FILES[offset]['error'].

Du coup je récupère mon message d'erreur sous Safari, qui correspond à l'erreur 1 de $_FILES['file']['error'] qui est donc "UPLOAD_ERR_INI_SIZE".

Valeur : 1. Le fichier téléchargé excède la taille de upload_max_filesize, configurée dans le php.ini.

A en juger par le message, et compte tenu du fait que mon upload_max_filesize est supérieur au fichier uploadé, je pense que j'atteins là une limite qu'il n'est peut-être pas possible de dépasser. Ce qui corrobore en effet l'erreur "Invalid Content-Length" récupérée dans les logs d'apache…

@titouan tout à fait, je vais corriger ça !

Hors ligne

#7 Le 30/06/2012, à 10:21

bruno

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Pour le « Invalid Content-Length » je n'ai pas précisé parce que je ne retrouve plus la référence dans la doc Apache, mais il me semble bien qu'Apache ne gère pas l'envoi de fichiers de plus de 2Go.

Pour gérer d'aussi gros fichiers il faudrait peu-être regarder du coté des fonctions ssh2 de PHP. (bien que je n'ai aucune idée si cela fonctionnera wink)

EDIT : pour la limite à 2Go, voir https://httpd.apache.org/docs/2.0/mod/c … equestbody

Dernière modification par bruno (Le 01/07/2012, à 06:09)

Hors ligne

#8 Le 01/07/2012, à 00:31

buzut

Re : Apache/php connexion réinitialisée lors de l'upload fichiers [RÉSOLU]

Bonsoir,

merci Bruno pour ces infos complémentaires, c'est donc apache qui me limite. De toute façon, un upload de 2Go c'est déjà bien !! Je vais en effet regarder du côté de ssh2 comme tu le préconises et aussi voir les possibilités qu’apportent les extensions FTP de php.

Merci beaucoup de ton aide smile

Hors ligne