web-dev-qa-db-fra.com

Comment augmenter la directive de délai d'attente Apache dans .htaccess?

Comment puis-je augmenter la directive de délai d'attente Apache dans .htaccess? J'ai un LONG $ _POST ['script'] qui prend environ 10 minutes à un utilisateur pour remplir toutes les données. Le problème est que si cela prend trop de temps que la page expire ou quelque chose et qu'il passe à une page Web est introuvable page d'erreur. L'augmentation de la directive de délai d'attente Apache dans .htaccess serait la réponse que je recherche. Je suppose que c'est réglé à 300 secondes par défaut, mais je ne sais pas comment l'augmenter ou si c'est ce que je devrais faire ... De toute façon, comment puis-je augmenter le temps par défaut? Je vous remercie.

29
Graham

si vous avez un code long côté serveur, je ne pense pas qu'il tombe dans 404 comme vous l'avez dit ("il va à une page Web n'est pas trouvé page d'erreur")

Le navigateur doit signaler une erreur de délai d'attente de la requête.

Vous pouvez faire 2 choses:

Basé sur le délai d’augmentation du moteur côté CGI/serveur

PHP: http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time - la valeur par défaut est de 30 secondes

Dans php.ini:

max_execution_time 60

Augmenter le délai d'attente Apache

http://httpd.Apache.org/docs/2.0/mod/core.html#timeout - la valeur par défaut est 300

Dans votre httpd.conf (dans la configuration du serveur ou la configuration de vhost)

TimeOut 600

Notez que le premier paramètre permet à votre script PHP de s'exécuter plus longtemps, il n'interférera pas avec le délai d'attente du réseau.

Le deuxième paramètre modifie la durée maximale pendant laquelle le serveur attend certains événements avant d’échouer une demande.

Désolé, je ne sais pas si vous utilisez PHP comme traitement côté serveur, mais si vous fournissez plus d'informations, je serai plus précis.

55
rkosegi

Juste au cas où cela aiderait quelqu'un d'autre: 

Si vous allez ajouter la directive TimeOut et que votre site Web utilise plusieurs hôtes virtuels (un pour le port 80, un pour le port 443), n'oubliez pas d'ajouter la directive à all of!

0
Nate