Petite question paramètre serveur

Eléphant du PHP | 97 Messages

10 janv. 2012, 10:17

Bonjour,

savez-vous s'il existe une variable temps qui, après un certain nombre de secondes (ou minutes ou heures ), arrête le script d'un upload ?

ex : je veux uploader une quantité x de fichiers sur le serveur. Après le nombre de secondes décrétées par le paramètre, même si l'upload n'est pas terminé, j'arrête le process pour éviter de saturer le serveur en cas de boucle infinie.

Merci de votre réponse

ViPHP
ViPHP | 2577 Messages

10 janv. 2012, 10:30

Si tu fais un script :
<?PHP
phpinfo();
?>
tu devrais trouver ton bonheur.

Fais une recherche sur "limit" dans la page résultat. Il y a une limite de temps d'exécution, de taille de fichiers uploadés et de nombre de fichiers dans une requête.

Eléphant du PHP | 97 Messages

10 janv. 2012, 11:05

Bein je fouillais dedans et j'ai voici mes paramètres :

file_uploads = On ==> donc on autorise les uploads
max_file_uploads = 20 ==> on peut uploader 20 fichiers max
upload_max_filesize = 2047 M ==> on peut uploader 2047 Mo maximum

et concernant un potentiel paramètre temps, j'ai trouvé :
max_execution_time = 240
max_input_time = 60
mysql.connect_timeout = 60
session.gc_maxlifetime = 1440

je jetterai plus mon dévolu sur max_execution_time parce qu'il se place juste au-dessus du paramètre max_file_uploads ce qui me laisserai éventuellement penser qu'il pourrait y avoir un lien..
http://www.manuelphp.com/php/ini.max-execution-time.php
Après, mon upload dure plutôt 4heures voire plus (à vrai dire je n'ai pas de valeur exacte du temps d'upload vu que je l'ai fait tourner cette nuit, mais c'est pas moins de 4heures certain), donc franchement très loin des 240secondes..

Eléphant du PHP | 97 Messages

10 janv. 2012, 11:11

Quoi qu'il pourrait peut-être plus s'agir du paramètre "max_input_time", qui se définit comme la durée maximale pour recevoir les données d'entrée, via POST, GET et téléchargement de fichier. Mais alors là encore pire, la valeur est fixée à 60 secondes, mais l'upload ne s'arrête pas après 60secondes !

ViPHP
ViPHP | 2577 Messages

10 janv. 2012, 11:34

Le plus simple est faire set_time_limit(0) avant le traitement pour que les autres scripts ne soient pas impactés.

Je suis surpris par le temps annoncé. Un transfert par ftp me semble plus adapté.

Eléphant du PHP | 97 Messages

10 janv. 2012, 11:43

la durée de l'upload qui te choque est peut-être dûe au fait qu'il faut aussi ranger les informations uploadées dans la base de données non ? les fichiers que l'upload servent en réalité à updater des tables de ma BD

Eléphant du PHP | 97 Messages

10 janv. 2012, 11:50

je viens de me rendre compte que je n'expliquais pas très bien les choses, sans doute moi n'ai pas très bien compris aussi.
Au début, les fichiers que j'ai sur mon PC et que je souhaite uploader sur le serveur sont envoyés assez rapidement de l'ordre de la dizaine de secondes. C'est en réalité le travail d'update de la BD qui ne fonctionne pas rapidement.