Position actuelle: Accueil> Derniers articles> Résolvez le problème commun que PHP ne peut pas obtenir de données après avoir installé des certificats SSL sur IIS

Résolvez le problème commun que PHP ne peut pas obtenir de données après avoir installé des certificats SSL sur IIS

gitbox 2025-06-30

Solution à l'incapacité de PHP à obtenir des données après l'installation du certificat SSL sur IIS

Avec la sensibilisation croissante à la sécurité du réseau, l'installation de certificats SSL dans les serveurs Web est devenue de plus en plus importante. Dans Windows Environment, IIS est un serveur Web couramment utilisé. Lors du développement d'un site Web avec PHP, PHP peut ne pas être en mesure d'obtenir des ressources HTTPS externes après l'installation d'un certificat SSL. Ce problème se manifeste généralement comme une erreur comme "Curl Error 60: Certificat SSL Problème: Impossible d'obtenir un certificat local émetteur".

Analyse des problèmes

Après avoir installé un certificat SSL sur IIS, lorsque PHP demande des ressources HTTPS, il peut ne pas être en mesure de vérifier le certificat SSL car le protocole SSL / TLS n'est pas pris en charge par défaut, ce qui entraîne un échec d'acquisition de données. La clé pour résoudre ce problème est de configurer correctement le chemin de support SSL et de certificat racine de PHP.

Solution

1. Téléchargez le fichier de certificat racine du certificat SSL

Tout d'abord, vous devez télécharger le fichier de certificat racine à partir du site Web de l'autorité de certificat SSL et l'enregistrer dans le répertoire spécifié du serveur.

2. Configurez le fichier php.ini

Ensuite, modifiez le fichier PHP.ini de PHP pour vous assurer que l'extension SSL est activée et que le chemin de certificat racine correct est configuré. Ouvrez le fichier php.ini, recherchez et confirmez les éléments de configuration suivants:

 extension=php_openssl.dll
 curl.cainfo = "C:/path/to/your/cacert.pem"

Où "c: /path/to/your/cacert.per" doit être remplacé par le chemin de certificat racine réel.

3. Configurez la bibliothèque Curl pour les demandes HTTPS

PHP utilise généralement la bibliothèque Curl pour les demandes HTTP. Afin de s'assurer que Curl peut vérifier le certificat SSL lors de l'initiation des demandes HTTPS, une configuration pertinente est requise. Voici un exemple de code:

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'https://example.com/api');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
 curl_setopt($ch, CURLOPT_CAINFO, 'C:/path/to/your/cacert.pem');
 $result = curl_exec($ch);
 curl_close($ch);
 echo $result;

Dans ce code, nous permettons la vérification du certificat SSL en configurant les options Curl pour assurer la sécurité de la demande.

4. Testez si la configuration est efficace

Une fois la configuration terminée, vous pouvez tester si PHP obtient avec succès des données en visitant un site HTTPS. S'il est configuré correctement, PHP devrait pouvoir accéder normalement aux ressources HTTPS.

Résumer

Grâce aux étapes ci-dessus, vous pouvez résoudre efficacement le problème que PHP ne peut pas obtenir de données HTTPS après avoir installé des certificats SSL sur IIS. La configuration appropriée du fichier php.ini et l'utilisation de la bibliothèque Curl garantissent que PHP peut vérifier le certificat SSL lors de la réalisation de demandes HTTPS, assurant la sécurité de l'acquisition de données. En fonctionnement réel, veuillez ajuster le chemin de configuration en fonction de la situation réelle et assurer la validité du certificat SSL.

J'espère que cet article vous aidera à résoudre les problèmes connexes et à assurer le fonctionnement sûr et approprié du site Web.