PHP avec temps limite de 300s bizarre

rixan Messages postés 438 Statut Membre -  
rixan Messages postés 438 Statut Membre -
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

4 réponses

rixan Messages postés 438 Statut Membre 43
 
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 5413 Statut Membre 894
 
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
A.Nonymous
 
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 438 Statut Membre 43
 
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