132 votes

Comment augmenter le délai d'exécution en php ?

Comment augmenter le délai de transaction ? Je veux télécharger des vidéos, mais les vidéos de grande taille ne sont pas téléchargées ?

Il y a une erreur The process *** exceeded the timeout of 60 seconds.

1 votes

Définissez "délai de transaction". Qu'est-ce qui ne fonctionne pas à quel endroit ?

1 votes

Pourquoi pensez-vous que son délai de "transaction" est dépassé ?

0 votes

Les vidéos courtes ont été téléchargées avec succès. Mais les vidéos longues n'ont pas été téléchargées, je pense que le temps est écoulé.

166voto

Hannes Points 4246

Vous devez modifier certains paramètres dans votre php.ini :

upload_max_filesize = 2M 
;or whatever size you want

max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds

L'emplacement de votre PHP.ini dépend de votre environnement système. Pour plus d'informations : http://php.net/manual/en/ini.list.php

0 votes

Désolé, je n'ai aucune idée de ce que vous voulez dire par là :(

0 votes

@Aamir, Vous devez avoir la permission de votre hébergeur pour modifier la configuration de votre serveur web. Souvent, ils ne vous laissent pas changer ce genre de choses.

0 votes

Puis-je modifier les paramètres upload_max_filesize et max_execution_time dans le fichier htaccess ?

71voto

Christoph Strasen Points 1928

Vous devriez être en mesure de le faire pendant l'exécution également en utilisant

set_time_limit(100);

http://php.net/manual/en/function.set-time-limit.php

ou dans votre configuration de serveur virtuel

php_admin_value max_execution_time 10000

Avoir une limite globale de temps d'exécution qui est BASSE est surtout une bonne idée pour des raisons de performance sur des applications pas si fiables. Ainsi, vous pourriez vouloir autoriser seulement les scripts à s'exécuter plus longtemps qui doivent absolument le faire.

p.s. : N'oubliez pas post_max_size et upload_max_filesize (comme la première réponse l'a déjà dit).

25voto

Lynxi Points 787

Pour compléter la réponse de Hannes.

Vous devez modifier certains paramètres dans votre php.ini :

upload_max_filesize = 2M 
;or whatever size you want

max_execution_time = 60
; also, higher if you must

Si quelqu'un veut mettre en illimité (je ne sais pas pourquoi mais si vous voulez), vous pouvez mettre le temps à 0 :

Vous devez modifier certains paramètres dans votre php.ini :

upload_max_filesize = 0 

max_execution_time = 0

Et si vous ne savez pas où se trouve votre php.ini. Vous pouvez faire un fichier "nom.php" dans votre serveur et mettre :

<?php phpinfo(); ?>

Et sur votre site web, vous pouvez voir la configuration de votre php.ini et il est marqué où il se trouve.

Modifié le 9 janvier 2015 :

Si vous ne pouvez pas accéder à votre php.ini, vous avez deux autres options.

Vous pouvez définir cette ligne directement dans votre fichier "name.php" mais je ne trouve pas d'option pour upload_max_filesize pour cette option :

set_time_limit(0);

Ou dans ".htaccess".

php_value upload_max_filesize 0
php_value max_execution_time 0

17voto

Komang Points 1850

Si ce dont vous avez besoin n'est spécifique qu'à 1 ou 2 pages, je vous suggère d'utiliser set_time_limit donc cela n'a pas affecté l'ensemble de l'application.

set_time_limit(some_values);

mais bien sûr ces 2 valeurs (post_max_size & upload_max_filesize) sont sujettes à enquête.

vous pouvez soit le définir via ini_set fonction

ini_set('post_max_size','20M');
ini_set('upload_max_filesize','2M');

ou directement dans le fichier php.ini comme la réponse ci-dessus par Hannes, ou encore dans le fichier .htaccess comme ci-dessous

php_value upload_max_filesize 2M
php_value post_max_size 20M

8voto

Michael Points 1337

Si vous utilisez Microsoft IIS en plus du serveur php.ini mentionnés par d'autres personnes, vous devrez peut-être augmenter les paramètres de délai d'exécution de l'application PHP FastCGI dans le gestionnaire de serveur IIS :

Étape 1) Ouvrez le gestionnaire de serveur IIS (généralement sous le nom de Gestionnaire de serveur dans le menu Démarrer, puis Outils / Gestionnaire des services d'information Internet (IIS) ).

Étape 2) Cliquez sur la connexion principale (non spécifique à un domaine particulier).

Étape 3) Sous le IIS section, trouver Paramètres de FastCGI (illustré ci-dessous).

enter image description here

Étape 4) Dans ce cas, cliquez avec le bouton droit de la souris sur l'application PHP et sélectionnez Editer... .

Étape 5) Vérifiez les délais d'attente (indiqués ci-dessous).

enter image description here

Dans mon cas, les délais d'attente par défaut étaient de 70 et 90 secondes ; le premier délai provoquait une Erreur de serveur interne 500 sur les scripts PHP qui prenaient plus de 70 secondes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X