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 :

Curl et PHP: arret du script


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 71
    Points : 43
    Points
    43
    Par défaut Curl et PHP: arret du script
    Bonjour à tous,

    j'espère que je vais trouver une solution à mon problème ici

    Mon problème et le suivant:

    a partir d'un site web existant, j'utilise curl pour récupérer des informations précises tel que Nom, Téléphone... pour un domaine donné (sur lequel on fait la recherche)
    exp: si je tape dans mon site 'Telecom' je vais visiter l'autre site (en utilisant curl) et voir le nombre de résultats donnés pour ce domaine recherché puis extraire les informations nécessaire en utilisant le curl plusieurs fois (pour chaque page contenant un résultat)

    le script marche très bien si le nombre de résultat (trouvé dans le site existant déjà sur le web) est inférieur à 4000 (sachant que dans chaque page 20 résultats donc, j’exécute le même script nbre_de_resultat/20 fois )
    si non le script s'arrete (pb de temps d’exécution )

    je suppose que le problème provient de curl.
    est ce que ma supposition est juste et quelle est la solution que vous me proposez?

  2. #2
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Bonjour,

    Ton problème est juste une question de 'lenteur' du script, qui fait que le script s'arrête au bout de X secondes d’exécution. C'est le serveur qui stop ton script et non CURL.

    Dans ton PHP.ini tu a une variable qui se nomme max_execution_time tu peux la changer, ou alors ajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_time_limit(X) // secondes
    en haut de ton script

    Cependant, un code qui dépasse le max ececution time est peut être un code mal optimisé, personnellement je n'attendrai pas 50 ou 60 secondes pour qu'une recherche s'effectue.

    Essaye de voir si tu n'a pas d'autre solution, par exemple regrouper le tout par bloc de 20 résultats comme tu le dit est une solution très pertinente.
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 71
    Points : 43
    Points
    43
    Par défaut
    Merci pour votre réponse BakSh0,
    pour le temps d'exexution j'ai deja la ligne de code en haut du script

    je vais essayer de revoir mon code, mais j'ai une question , utiliser curl plus que 100 fois dans un script (boucle) ne permet pas de crasher la page?

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu as plusieurs strates de temps limite : PHP d'un côté (le script) et la lib curl de l'autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 0);
    Un peu de doc ici

  5. #5
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    tu as plusieurs strates de temps limite : PHP d'un côté (le script) et la lib curl de l'autre.
    Exactement, mais dans ce cas précis, étant donnée qu'avec un nombre limité d'opérations tout est OK, je n'ai pas imaginé que CURL puisse poser de problème de time out ... une instruction répété de curl faisant ralentir le temps d’exécution du script me paraissait plus plausible Au temps pour moi
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  6. #6
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 71
    Points : 43
    Points
    43
    Par défaut
    Bonjour et merci bien pour vos réponses

    le problème était bien dans l'optimisation de mon code

    Merci beaucoup

  7. #7
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    De rien, pense à passer en résolu
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

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

Discussions similaires

  1. [PHP-JS] Arrêter le script au bout de x secondes
    Par AsQuel dans le forum Langage
    Réponses: 1
    Dernier message: 28/07/2007, 00h41
  2. [XML] [cURL] Authentification Php récupération de données
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/02/2006, 14h23
  3. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 22h17
  4. Réponses: 6
    Dernier message: 23/05/2005, 08h33
  5. [PHP-JS] Php dans un script javascript
    Par nebule dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2004, 10h38

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