IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur en fin d'upload max execution


Sujet :

Langage PHP

  1. #1
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut erreur en fin d'upload max execution
    Bonjour,
    J'ai un formulaire d'envoi de fichiers via Ajax. A deux reprises lors de l'envoi d'un fichier de 1,3 Go, j'ai vers 95% de l'envoi (apres environ 3h d'upload) un arrêt de l'envoi avec dans la console js l'erreur "connexion reseted" quand je vais voir les logs de mon serveur, j'ai cette erreur (la même pour les deux essais) :
    PHP Fatal error: Maximum execution time of 60 seconds exceeded in Unknown on line 0
    Je ne vois pas trop comment résoudre ce problème... si quelqu'un a la solution
    n'oubliez pas de voter si le message vous a aidé


  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    On ne peut y faire grand chose hélas, mais c'est ton jour de chance car un de nos collègues du forum, abciweb, vient de proposer une classe php pour l'envoi de gros fichier que tu pourras trouver ici
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    Ah...
    Et du coup la limite sans utiliser la classe de abciweb c'est combien ?
    n'oubliez pas de voter si le message vous a aidé


  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    En théorie absolu 2Go, fin ça c'est comme les limites de débit ADSL c'est rarement atteint, en pratique c'est souvent moins. Donc que ça bloque à 1,1Go en gros, ça m'étonne pas tant que ça. A noter que cette limite a sauté avec la toute nouvelle arrivée de php 5.6.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  5. #5
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    Ok
    Je vais voir pour passer en php 5.6. Et sinon j'utiliserai la classe que tu m'as indiquée
    n'oubliez pas de voter si le message vous a aidé


  6. #6
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    bon bah le paquet php5.6 n'est pas encore sorti sous debian, et utiliser la classe d'abciweb m'obligerait à refaire une trop grosse partie du code donc je vais attendre que le paquet sorte pour mettre à jour et en attendant j'enverrai des fichiers de moins de 1 Go
    n'oubliez pas de voter si le message vous a aidé


  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Merci à Spartacusply pour la pub de la classe d'upload de gros fichiers, cela dit c'est une classe javascript/jquery/ajax qui utilise un script php côté serveur mais éventuellement pourrait utiliser un autre langage en remplaçant la partie php

    Concernant l'interruption au bout d'un certain temps je pense que c'est une surveillance d'activité sur les mutualisés. Ils sont optimisés pour surveiller l'activité globale et donc au bout d'un moment et suivant l'activité globale et si tu n'as pas un accès prioritaire aux ressources ils te déconnectent avec une erreur 500. Je ne suis pas spécialiste de l'administration serveur mais je ne vois pas d'autre explication puisque cela peut varier aussi beaucoup avec un même serveur (même site, même page de test) suivant les moments où l'on fait l'upload. Il n'y a donc à mon avis pas de solution pour éviter ce problème (sauf à avoir un accès prioritaire aux ressources) et php 5.6 n'y changera rien si c'est un réglage serveur. Le tout est donc de pouvoir reprendre l'upload en cas de problème et la classe sait le faire. Il y a aussi des commandes pour arrêter volontairement l'upload afin de pouvoir le reprendre dans les meilleurs conditions

    Concernant la taille des fichiers uploadés avec la classe il n'y a aucune limite. Simplement la vérification de l'intégrité des fichiers utilise la fonction php "filesize()" qui peut retourner n'importe quoi sur certains serveurs avec des fichiers de plus de 2 Go. Aussi la vérification est désactivée pour les fichiers de plus de 2 Go mais on peut la réactiver après avoir contrôlé le bon comportement de son serveur (c'est peut être à ce niveau que php 5.6 a l'avantage...).

    Le téléchargement de la classe propose un dossier pré configuré et un fichier d'exemples prêt à l'emploi donc tu peux la tester en moins de cinq minutes en recopiant simplement le dossier sur ton serveur d'évaluation. Tu verras que l'affichage des informations en temps réel est très complet et facilement configurable

  8. #8
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    Je suis sur un dedie donc je n'ai pas de limite de resource
    la limite d'upload a ete reglee a 3Go donc c'est pas ca qui bloque non plus. Je vais laisser comme ça pios passer en 5.6 et voir si ca change
    Il faudra quand même que je regarde ta classe pour voir comment elle fonctionne
    n'oubliez pas de voter si le message vous a aidé


  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Oui effectivement on parle pas du même type d'erreur.

    J'ai cru (lu trop vite) que ton système ajax était un système similaire au miens qui utilise la fragmentation de fichiers. Si l'on choisi par exemple une taille de 10 Mo par fragment, le script enverra 50 requêtes de 10 Mo pour télécharger un fichier de 500 Mo qui s'incrémentera au fil des requêtes.

    Cela permet de surpasser les limitations serveur dans le sens où l'on envoie des fragments de fichiers de petite taille (inférieure ou égale à "upload_max_filesize") pour au final pouvoir télécharger des fichiers sans limite de taille. Et toutes les autres limites de php sont aussi "surpassées" puisque l'on divise la charge de travail par autant de requêtes. Pour cette raison il est assez probable que l'utilisation du script te permette d'éviter l'erreur "Maximum execution time"

    Bah sinon puisque tu as accès à la config serveur tu peux toujours essayer de la modifier. Cela dit la technique de fragmentation possède un avantage annexe non négligeable puisqu'elle permet de récupérer un fichier partiellement téléchargé. Pour les gros fichiers qui nécessitent plusieurs heures de téléchargement c'est appréciable de pas tout devoir reprendre à zéro en cas de problème (s'ajoute aux pannes de réseau/serveur, les pannes secteur, fin d'autonomie d'une batterie de portable etc).

    Une technique de fragmentation rentable et écologique, que demande le peuple

  10. #10
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    vu que le travail doit être fini ce week-end et que j'ai encore quelque trucs à faire dessus je vais laisser comme ça mais je penserai à l'envoi par fragment pour la prochaine fois, ça peut être très intéressant pour reprendre les envois interrompus (volontairement ou pas ^^)
    je mettrai cette fonctionnalité lors de la prochaine mise à jour du site
    n'oubliez pas de voter si le message vous a aidé


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant]Taille d'upload max attainte
    Par GLSpirit dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/09/2007, 21h50
  2. Désactiver les messages d'erreur de Fin de programme
    Par spynux dans le forum Windows XP
    Réponses: 4
    Dernier message: 12/09/2007, 20h03
  3. [upload] erreur lors d un upload
    Par venomelektro dans le forum Langage
    Réponses: 1
    Dernier message: 07/04/2007, 11h46
  4. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo