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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Chargement d'XML externe à mon serveur (timeout)


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut [SimpleXML] Chargement d'XML externe à mon serveur (timeout)
    Bonjour à tous,

    Voilà deux jours que je tente de résoudre mon problème et j'ai cherché mais rien de vraiment très concret:

    J'utilise la fonction de simpleXML -> simplexml_load_file() pour aller chercher mon XML sur le serveur distant. Là, tout est bon... Mais des fois le temps d'exécution (timeout) est dépassé parce qu'elle n'arrive pas à se connecter au serveur distant... J'aimerais qu'au bout de 2-3 secondes la fonction passe avec un message d'erreur et le reste du site s'affiche mais pas au bout de 30 secondes comme le timeout est prédéfini.

    Avec les sockets ou Curl mais avec simpleXML? Enfin un énorme trou noir pour ma part...

    Merci beaucoup et bonne journée

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Théoriquement cela devrait être possible en créant un nouveau contexte et en jouant sur l'option timeout mais une version 5.2.1 (ou supérieure) de PHP vous sera requise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $contexte = stream_context_create(
        array(
            'http' => array(
                'timeout' => 3
            )
        )
    );
    libxml_set_streams_context($contexte);
    // SimpleXML
    $sxml = simplexml_load_file('http://login:motDePasse@www.monsite.fr/public/flux.xml');
    # Ou
    $sxml = new SimpleXMLElement('http://login:motDePasse@www.monsite.fr/public/flux.xml', 0, TRUE);
    (Requiert que PHP sache gérer les flux HTTP(S) et que allow_url_fopen est à On)

    Sinon oui, il est possible de procéder moins directement en récupérant d'abord sous la forme d'une chaîne le contenu de ce document (avec cURL ou autres) puis de la parser (via simplexml_load_string ou la forme équivalente du constructeur).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Par défaut
    Okay j'ai regardé et essayé, c'est tout bon...

    Merci beaucoup !

    Meilleures salutations.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2009, 13h00
  2. mon serveur ajax envoie du null a la place du xml
    Par dachir dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/03/2008, 19h22
  3. [AJAX] mon serveur ajax envoie du null a la place du xml
    Par dachir dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/03/2008, 17h14
  4. [SimpleXML] Parser du XML dans mon php
    Par onet dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 14/02/2007, 10h09
  5. Réponses: 1
    Dernier message: 02/08/2006, 17h57

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