Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 13h32   #1
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
Par défaut Problème avec simplexml_load_file

Bonjour à toute la communauté,

J'utilise EasyPHP 5.2.10 (php 5.2.10) pour mon site web.
J'ai fait une migration d'une version antérieure d'easyphp (php 4) à celle-ci.
Or, mon problème c'est que la fonction simpleXML_load_file ne marche plus quand j'utilise la dernière version alors que ça marchait dans l'ancienne version.

J'ai bien vérifié dans php.ini que l'option allow_url_open est bien activée. Elle est bien sur ON.
J'ai tenté d'appliquer un .htaccess comme indiqué sur d'autres forum mais le probème ca me fait planter tout le site

Dans mon code, je charge une url qui va me créer un xml

$xml = @simplexml_load_file($URL)

Pouvez-vous m'aider ?

Merci pour votre réponse
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 13h51   #2
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Bonjour,

Et que dit ton log d'erreur ?
enlève le @ devant simplexml_load_file et ça déshinibera le message d'erreur.
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 15h55   #3
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
J'ai deux erreurs qui s'affichent :

Notice: simplexml_load_file() [function.simplexml-load-file]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in D:\www\CARTO_WEB_HTA\Carto_WEB_HTA.php on line 173

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "https://......./_special/export_carto.php?type=*ahta*&n_centre=161&gdo_depart=CAZALC0444" in
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h04   #4
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Re-,

Tu dois avoir un php_openssl dans ton php.ini qui est à activer :
Code :
extension=php_openssl.dll
Assura toi d'avoir la dll correspondante, et redémarre tes services.
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h06   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
pas besoin de openssl normalement
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h13   #6
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
Oui merci pour ta réponse.
Je n'avais pas activé l'extension.
Du coup, j'ai eu de nouvelles erreurs :

Citation:
Warning: simplexml_load_file() [function.simplexml-load-file]: https://....../_special/export_carto...=SSEULC0603:3: parser error : XML declaration allowed only at the start of the document in D:\www\CARTO_WEB_HTA\Carto_WEB_HTA.php on line 173

Warning: simplexml_load_file() [function.simplexml-load-file]: <?xml version="1.0" encoding="ISO-8859-1" ?> in D:\www\CARTO_WEB_HTA\Carto_WEB_HTA.php on line 173

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in D:\www\CARTO_WEB_HTA\Carto_WEB_HTA.php on line 173
https://..../_special/export_carto.p...art=SSEULC0603
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h14   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
ça c'est parce que ton XML est mal formé
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h29   #8
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
pourtant j'obtiens un xml sous la forme suivante :

Code :
1
2
3
4
5
6
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <liste>
<centre>161</centre>
<gdo_depart>SSEULC0603</gdo_depart>
<nom_depart>RIVIER</nom_depart>
</liste>
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h42   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
tu dois avoir un blanc ou quelque chose vu l'erreur, de plus ton XML est en ISO-8859-1, SimpleXML plutot l'utf-8

pour supprimer les erreurs : http://php.net/manual/fr/function.li...nal-errors.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h29   #10
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Citation:
Envoyé par stealth35 Voir le message
pas besoin de openssl normalement
Bonjour Stealth,

malgré tout le respect que je te dois, si !
En effet, pour wrapper du flux ssl, il faut charger l'extension qui pourra traiter un flux ssl.
L'extension est donc chargée, et n'implique pas nécessairement un usage ultérieur autre.
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h35   #11
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
J'ai utilisé la fonction que tu m'as dit.
Cela m'indique bool(false) donc ca veut dire qu'il n'y a pas d'erreur ?
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h46   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par lenono Voir le message
Bonjour Stealth,

malgré tout le respect que je te dois, si !
En effet, pour wrapper du flux ssl, il faut charger l'extension qui pourra traiter un flux ssl.
L'extension est donc chargée, et n'implique pas nécessairement un usage ultérieur autre.
oui oui t'as raison, c'est moi qui bug, c'est l'extension ftp qui n'est pas nécessaire au wrapper ftp://
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h47   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par pitou26 Voir le message
J'ai utilisé la fonction que tu m'as dit.
Cela m'indique bool(false) donc ca veut dire qu'il n'y a pas d'erreur ?
si justement, utilise DomDocument sinon
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h51   #14
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
Code :
1
2
3
4
5
6
7
8
9
$doc = new DOMDocument;
 
if (!$doc->load($URL)) {
    foreach (libxml_get_errors() as $error) {
 
    }
 
    libxml_clear_errors();
}
et comment tu fais pour afficher les erreurs ?
Je suis un noob dsl
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h55   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
il te l'affiche tout seul, si il en met pas avec DOMDocument c'est que pour lui il n'y en a pas
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 18h10   #16
Invité de passage
 
Inscription : décembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 8
Points : 0
Points : 0
ok donc il n'y en a pas .... ça va me rendre chèvre cette erreur !

Ya pas d'autre façon d'afficher les erreurs, vu que tu m'as dit que si le booleen est égale à false il y a des erreurs ?
pitou26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h34.


 
 
 
 
Partenaires

Hébergement Web