Dépannage de l'erreur de vérification du certificat SSL file_get_contents()
Lorsque vous tentez d'accéder à un service REST à l'aide de file_get_contents() dans PHP 5.6, vous pouvez rencontrer l'erreur "L'opération SSL a échoué avec le code 1" en raison d'un certificat plus strict vérification.
Description du problème
La page PHP de l'utilisateur tente de récupérer des données à partir d'un point de terminaison HTTPS à l'aide de file_get_contents(). Cependant, il échoue avec les erreurs suivantes :
Root Parce que
PHP 5.6 a introduit une vérification SSL plus stricte par défaut, exigeant une validation précise du certificat. L'erreur indique que le client ne peut pas vérifier le certificat du serveur distant.
Résolution
Pour résoudre ce problème, un document PHP officiel sur les modifications d'OpenSSL dans la version 5.6 recommande de désactiver la vérification du certificat. Remarque : cette solution a des implications de sécurité importantes et ne doit être envisagée que dans des environnements contrôlés où la confiance entre le client et le serveur est établie.
$arrContextOptions = array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false, ), ); $response = file_get_contents("remote_url", false, stream_context_create($arrContextOptions));
Remarque importante
La désactivation de la vérification du certificat SSL réduit la sécurité et peut exposer votre application à des écoutes clandestines et à d’autres failles de sécurité. Il est fortement recommandé de configurer correctement votre système pour utiliser des certificats SSL de confiance au lieu de recourir à cette solution de contournement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!