PHP avec temps limite de 300s bizarre

Fermé
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 - Modifié par rixan le 28/09/2012 à 17:29
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 - 1 oct. 2012 à 08:54
Bonjour,

On a écrit un code PHP qui analyse plus de 50000 lignes d'une table de base de données MySQL.

On sait que l'exécution de ce script prendra du temps donc on a augmenté le temps maximal à 16 minutes et la mémoire limite à 1000Mo c'est à dire 1 giga.
max_execution_time = 1000
memory_limit = 1000M


Or bizarrement l'exécution du script que ce soit par appel du fichier php sur un navigateur ou en ligne de commande avec php se stoppe toujours à 5 minutes pile. Pourquoi???

En regardant le phpinfo() de notre serveur WAMP ainsi qu'un hébergement de test en ligne on voit la configuration à 5 minutes = 300 secondes

Timeouts: Connection = 300, Keep-Alive = 15

J'ai beau cherché dans les .ini et dans les forums sur internet, je ne trouve pas comment augmenter cette valeur de timeout????

Voici 2 liens qui parlent de ce 300!!!

http://httpd.apache.org/docs/2.0/mod/core.html#TimeOut

http://httpd.apache.org/docs/2.2/mod/core.html#keepalivetimeout

A voir également:

4 réponses

rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 43
28 sept. 2012 à 18:03
J'ai modifié httpd.conf:
Timeout 3000

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

Et j'ai avec phpinfo()
Timeouts: Connection = 3000, Keep-Alive = 15

Mais le problème des 5 mn demeure. On dirait que le changement fait est juste pour l'affichage.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 sept. 2012 à 18:50
le script php si il dure trop longtemps va surcharger le serveur, c'est pour cela que la durée est limitée.

5 minutes c'est déja beaucoup.

Un hebergeur ne tolère pas que tu fasse des cripts longs
0
La configuration Apache n'a aucun effet sur le fonctionnement de PHP en ligne de commande.
Si max_execution_time a été correctement défini, ça ne devrait pas avoir cet effet. La question est : est-ce que c'est le bon fichier php.ini qui a été modifié ? En général, il y en a un pour le CLI et un autre pour le Web.


En effet, 5' pour traiter quelques 50000 lignes, ça semble faire beaucoup.
0
rixan Messages postés 413 Date d'inscription dimanche 27 mai 2007 Statut Membre Dernière intervention 1 mars 2019 43
Modifié par rixan le 1/10/2012 à 09:00
Pour info, on va l'utiliser soit en intranet, soit sur un serveur dédié, donc aucun souci sur le fait que l'hébergeur serait d'accord ou pas.

Je confirme que tous les php.ini ont été modifiés et on a mis des timeout élevés mais je ne comprends toujours pas pourquoi ça s'arrête toujours à 5 minutes pile (300 secondes)!

L'on traite 50000 lignes environ et on a calculé que le script peut traiter 1300 lignes à la minute donc il nous faut 38 mn environ. Je rappelle qu'il s'agit d'une application web écrit en php bien sûr!
0