par

Bonjour, j'essaie de récupérer un flux RSS avec la fonction PHP simplexml_load_file, mais j'obtiens toujours les erreurs SSL operation failed et Failed to enable crypto. Savez vous comment solutionner ce problème ?

<?php
$rss = simplexml_load_file('https://www.exemple.com/feed/');

$article = 0;
foreach($rss->channel->item as $val) {
    echo "<a href='" . $val->link . "'>" . $val->title . "</a><br>";
    echo date("d m Y", strtotime($val->pubDate)) . "<br>";
    $article++;
    if ($article==7) {
        break;
    }
}
?>

1 Réponse

+1 validé
par
 
Meilleure réponse

Le problème vient du fait que le l'extension OpenSSL et son certificat se sont pas déclarés dans le fichier PHP.ini de votre serveur.

L'alternative consiste à créer un contexte de flux SSL pour la fonction simplexml_load_file ; il en va d'ailleurs de même avec toutes autres fonctions, tel que file_get_contents par exemple.

Il vous suffit d'utiliser les options de contexte verify_peer et verify_peer_name.

<?php
$context = stream_context_create(array("ssl"=>array(
    "verify_peer" => false, 
    "verify_peer_name"=>false
    )));

libxml_set_streams_context($context);

$rss = simplexml_load_file("https://www.exemple.com/feed/");

$article = 0;
foreach($rss->channel->item as $val){
    echo "<a href='" . $val->link . "'>" . $val->title . "</a><br>";
    echo date("d m Y", strtotime($val->pubDate)) . "<br>";
    $article++;
    if ($article==7) {
        break;
    }
}
?>

Lectures Recommandées

Régis Chaperon - Welcome Reset

"Lorsqu'un virus informatique d'une nouvelle génération infecte en quelques heures les systèmes de distribution électriques, le monde entier se retrouve plongé dans le noir. Les banques, les distributeurs de billets, le chauffage, tout s'arrête."

Mais si même une intelligence artificielle américaine est incapable de vaincre le virus, est-ce qu'un homme qui a fui la modernité saura découvrir la faiblesse de ce virus informatique inconnu ?

Welcome Reset est un roman bien rythmé, efficace et réaliste.

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Offre Sponsorisée

Ailleurs sur le Web

Questions liées

1 réponse
1 réponse
1 réponse
1 réponse
1 réponse
1 réponse
posée par anonyme 26-Novembre-2021
1 réponse
posée par anonyme 15-Novembre-2021
1 réponse
1 réponse

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...