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 :

Forcer l'attente de la fin du script


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 28
    Par défaut Forcer l'attente de la fin du script
    Bonjour,

    J'ai fait un script php qui permet de charger un dump dans mySql. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    set_time_limit(0);
    $db_charset = "latin1"; /* mettre utf8 ou latin1 */
    $db_server         = '***********';
    $db_name           = '***********';
    $db_username       = '***********';
    $db_password       = '***********';
    $cmd_mysql = "mysql";
    $archive_GZIP      = "MyOzeLocal.sql.gz";
    echo " Restauration OK";
     
    $CR_exec = system($commande);
    ?>
    J'ai mis l'instruction suivante qui permet (enfin je crois) de fixer le temps d'attente Max à l'infini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_time_limit(0);
    Seulement, apres 16 secondes, le process s'arrete.

    Avez vous une idée?

    Merci

    Julien

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Par défaut
    Il faudrait régler la variable set_time_out du serveur apache/php et je ne crois pas que ce soit possible via une fonction php.
    J'ai souvent ce genre de manip a faire et pour cela j'utilise un .bat (oui je suis sous windows...).
    en ligne de commande, php n'est pas sujet au timeout et quelques soit le temps que cela prend, le script sera exécuter jusqu’à la fin (ou jusqu’à la première erreur).

    lancer un script php via un .bat, ca donne quelques chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\wamp\bin\php\php5.3.0\php.exe C:\wamp\www\tools\calcul.php

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne pense pas que la limite d'execution de ton serveur soit de 16 secondes de toute façon.
    Si tu n'as pas d'erreur, c'est que tu n'as pas atteind la limite de temps.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 28
    Par défaut
    Merci pour vos réponses.

    En fait, mon appli est hébergée chez OVH en mutualisée, et ma base de données est chez OVH_SqlPrivé.

    Je n'ai à priori pas de message d'erreur. Si il y en a, il s'affichera bien sur ma page?

    Quand je charge le même dump via l'interface de SQL_Privé, le chargement s'effectue en entier! Etrange???

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si il y en a, il s'affichera bien sur ma page?
    ça dépend de la configuration php.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 28
    Par défaut
    Je viens de voir ce fichier (my.cnf) à ma dispo chez SqlPrive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    [mysqld]
     
    tmp_table_size=5M
    query_cache_size=10M
    thread_cache_size=5
    max_connections=75
    open_files_limit=900
     
     
    skip-locking
    key_buffer_size = 10M
    max_allowed_packet = 1M
    table_cache = 300
    sort_buffer_size = 1M
    join_buffer_size = 1M
    read_buffer_size = 512K
    read_rnd_buffer_size = 256K
    net_buffer_length = 2K
    thread_stack = 128K
     
    max_binlog_cache_size = 1M
    max_join_size = 12M
    max_seeks_for_key = 2M
    max_write_lock_count = 512K
    myisam_max_sort_file_size = 1M
     
    ########################
    ##Configuration Innodb##
    ##Uncomment the next line to disable Innodb
     
    #skip-innodb
     
    innodb_buffer_pool_size         = 16M
    innodb_additional_mem_pool_size = 2M
     
    innodb_log_file_size            = 10M
    innodb_log_buffer_size          = 4M
     
    innodb_flush_log_at_trx_commit=1
     
    skip-name-resolve
    C'est surement ici que je peux faire mes réglages, mais je ne suis pas expert, loin de la!

    Quelqu'un a une idée?

    Merci

    Julien

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 332
    Par défaut
    Bonjour,
    Je ne vois pas $commande ("mysql param1 param 2") dans le code ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system($commande, $valeurRetour); 
    print_r( $valeurRetour) ); // voir le resultat de la commande

Discussions similaires

  1. Attente de la fin d'un parmis plusieurs threads
    Par barbug dans le forum Multithreading
    Réponses: 12
    Dernier message: 13/02/2009, 08h46
  2. Réponses: 0
    Dernier message: 27/08/2007, 14h16
  3. Appeler une fonction en fin de script
    Par Oprichnik dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2007, 00h42
  4. [AJAX] page d'attente là 'aide d'un script javascript
    Par babalastar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/03/2007, 22h12

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