IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] max_execution_time : la doc ment-elle ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 219
    Par défaut [Système] max_execution_time : la doc ment-elle ?
    Bonjour,

    sur la doc officielle de php, on peut lire :
    "La fonction set_time_limit() et la directive de configuration max_execution_time n'affectent que le temps d'exécution du script lui-même. Tout temps passé en dehors du script, comme un appel système utilisant system(), des opérations sur les flux, les requêtes sur base de données, etc. n'est pas pris en compte lors du calcul de la durée maximale d'exécution du script."

    Or, j'ai fait plusieurs tests utilisant exec, system ou proc_open mais le script s'arrête toujours à cause du temps d'execution. Aucun autre instruction ne ralentit le script.

    J'ai même tenté de lancer par exec un autre php lançant l'exec que je souhaite, en vain.

    La doc est bidon sur ce point, ou c'est plutôt (on s'en doute ) moi ?
    Merci.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    si tu fais un appel qui bloque ton script en attente de retour ca sera evidemment pris en compte ....

  3. #3
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    à priori ce qu'il faut comprendre, c'est que si le time_limit est de 30 secondes, et que tu lances un programme via exec() qui dure 60 secondes, le script PHP ne sera coupé qu'une fois qu'il récupèrera la main... donc au après les 60 secondes.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 219
    Par défaut
    Ok, c'est plus clair, merci.

    Mais alors comment faire pour ne pas avoir d'erreur ? Lancer le contenu de mon exec en fond (command&) ? Dans ce cas, sur un serveur Win comment fait-on pour lancer une commande en tâche de fond ?

    Y'a-t'il un autre moyen (à supposer que celui-là fonctionne) car j'aimerais pouvoir récupérer les éventuels erreurs retournées par ma ligne de commande mais si je la laisse tourner en fond, je ne vois pas bien quand et comment récupérer la sortie.

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    set_time_limit(0) ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2005
    Messages : 219
    Par défaut
    ça c'est un moyen de contourner le problème
    En mutualisé, on ne peut pas changer cela (et d'ailleurs il me semble assez dangereux de mettre une telle valeur).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 4] [Système] Imprimer un .doc sur le serveur
    Par NiKoMinus dans le forum Langage
    Réponses: 5
    Dernier message: 19/05/2009, 15h51
  2. [Système] max_execution_time et set_time_limit
    Par phicarre dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2008, 11h07
  3. Réponses: 1
    Dernier message: 08/06/2007, 12h11
  4. Réponses: 7
    Dernier message: 06/06/2007, 14h42
  5. Réponses: 6
    Dernier message: 23/12/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo