web-dev-qa-db-fra.com

Augmenter max_execution_time en PHP?

J'essaie de télécharger des fichiers volumineux sur mon serveur (mon serveur prend en charge post_max_size 192mb et max_execution_time 600 sec). Lorsque je télécharge des fichiers de 100 Mo, l'exécution des fichiers s'arrête après 600 secondes afin que les fichiers ne soient pas téléchargés sur le serveur. Comment puis-je augmenter max_execution_time dans PHP (uniquement pour le processus de téléchargement de fichier)? J'ai essayé: 

ini_set ( 'max_execution_time', 1200); 
if(move_uploaded_file($_FILES['Video']['tmp_name'],$tmppath)) {
  // ...
} 

Des idées comment je peux surmonter cela?

17
Chithri Ajay

Ajoutez ceci à un fichier htaccess:

<IfModule mod_php5.c>
   php_value post_max_size 200M
   php_value upload_max_filesize 200M
   php_value memory_limit 300M
   php_value max_execution_time 259200
   php_value max_input_time 259200
   php_value session.gc_maxlifetime 1200
</IfModule>

En savoir plus sur ces paramètres à http://www.pacecode.com/blog/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-exession-expérience-et-fichier-html

MODIFIER

Il semble que le contenu de l'article original ait été reproduit ici: http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time -and-file-upload-size-limit

30
Jeremy Harris

si vous avez accès à WHM, vous pouvez suivre ces étapes:

À un moment donné, vous devrez probablement ajuster les options de configuration de PHP. Au lieu d'éditer manuellement le fichier PHP.ini, vous pouvez le faire depuis WHM.

1) Recherchez le menu de configuration du service.

enter image description here

2) Cliquez sur PHP Éditeur de configuration .enter image description here

Cet éditeur a deux modes - Basic et Advanced. Pour avoir accès à la gamme la plus complète d'options, vous devrez utiliser le mode avancé. Il est disponible en cliquant sur le bouton en haut de la page.

enter image description here

Nous vous recommandons d'attendre de modifier les paramètres avancés jusqu'à ce que vous sachiez exactement ce que vous faites. Si vous souhaitez en savoir plus sur un paramètre, cliquez sur un lien de la colonne Section pour accéder à la page correspondante. dans la documentation PHP . La première option en mode de base est upload_max_filesize, qui limite la taille maximale d'un fichier téléchargé via PHP. Cette option affectera la pièce jointe ou le système de téléchargement d'une grande variété de logiciels susceptibles d'être exécutés sur votre serveur, notamment Joomla et vBulletin . Vous voudrez probablement le modifier pour qu'il soit légèrement supérieur à la valeur par défaut. Spécifiez la taille en mégaoctets en utilisant un nombre suivi de M . Vous aurez rarement besoin de changer le chemin include_path de la valeur par défaut . En plus de limiter la taille maximale du téléchargement, vous pouvez également désactiver complètement le téléchargement de fichier à l'aide de la commande paramètre file_uploads. Certains PHP programmeurs ont la mauvaise habitude d’utiliser des balises abrégées, qui ne sont pas activées sur de nombreux serveurs. Cela signifie que leurs scripts ne fonctionneront pas. Activez asp_tags si vous rencontrez des scripts nécessitant ce type de balise.

enter image description here

Avec memory_limit, vous pouvez imposer une limite à la quantité de mémoire qu'un script PHP particulier peut utiliser à tout moment . Il n'est pas recommandé d'activer register_globals sauf en cas d'absolue nécessité. C'est la source de nombreux problèmes de sécurité et sera complètement supprimée lorsque PHP 6 sera publié. Le paramètre max_execution_time empêche les scripts mal écrits d’attacher le serveur. Par défaut, cette option est définie sur 30 secondes. Ne mettez pas cela trop haut, sinon les performances de votre serveur pourraient en souffrir. De même, max_input_time impose une limite à la durée pendant laquelle un script est autorisé à analyser les données d'entrée, telles que les formulaires et les téléchargements de fichiers.

enter image description here

Avec enable_dl, tous les utilisateurs peuvent inclure les extensions PHP à leur guise. Cela représente une faille de sécurité potentielle. Vous devez donc désactiver cette option, sauf en cas d'absolue nécessité. safe_mode est une autre option PHP qui sera supprimée avec la publication de PHP 6. C'est en grande partie inefficace et devrait probablement être laissé de côté. La dernière option, session.save_path, contrôle l'emplacement d'enregistrement des sessions PHP. La valeur par défaut devrait être acceptable dans la plupart des cas.

enter image description here

Si vous souhaitez modifier cette option, vous devrez cliquer ici pour que le champ de texte apparaisse.

3) Une fois terminé, cliquez sur Enregistrer.

enter image description here

Le fichier php.ini a été écrit automatiquement.

enter image description here

Vous savez maintenant comment configurer PHP à partir de WHM.

6
HMagdy

Il existe un paramètre max_input_time (sur Apache) pour de nombreux serveurs Web qui définit la durée d’attente des données de publication, quelle que soit leur taille. Si ce temps est écoulé la connexion est fermée sans même toucher le php.

Votre problème ne peut donc pas nécessairement être résolu avec php uniquement, mais vous devrez également modifier les paramètres du serveur.

6
bardiir

Pour augmenter le temps d'exécution et la taille du fichier, vous devez mentionner les valeurs ci-dessous dans votre fichier .htaccess. Ça va marcher.

php_value upload_max_filesize 80M
php_value post_max_size 80M
php_value max_input_time 18000
php_value max_execution_time 18000
0