Je cours PHP Version 5.6 dans le cadre de XAMPP dans MacOSx El Capitan et ayant des erreurs sur quelques sites https
. par exemple: https://www.google.com/
php SSL3_GET_SERVER_CERTIFICATE: vérification de certificat a échoué
file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Mais aucune erreur SSL sont revenus sur ces sites:
S'il vous plaît trouver la liste d'abord ce que i » J'ai essayé jusqu'à présent, mais rien ne fonctionne.
Essayé Google premier:
- SSL error SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
- PHP - SSL certificate error: unable to get local issuer certificate
- HTTPS and SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, CA is OK
Manuel
1. Mise à jour cert.pem fichier
php -r 'print_r(openssl_get_cert_locations());'
et le résultat était.
Array
(
[default_cert_file] => /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
[default_cert_file_env] => SSL_CERT_FILE
[default_cert_dir] => /Applications/XAMPP/xamppfiles/share/openssl/certs
[default_cert_dir_env] => SSL_CERT_DIR
[default_private_dir] => /Applications/XAMPP/xamppfiles/share/openssl/private
[default_default_cert_area] => /Applications/XAMPP/xamppfiles/share/openssl
[ini_cafile] => /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
[ini_capath] =>
)
Enregistré dans /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
Mise à jour php.ini
avec la suite
openssl.cafile = /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
curl.cainfo = /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
Restarted Apache mais pas succès. J'ai essayé de lire le fichier pem (pas d'erreur renvoyée)
echo file_get_contents("/Applications/XAMPP/xamppfiles/share/openssl/cert.pem");
Test Case
Il fonctionne très bien sur github.com
getcomposer.org
paypal.com
mais pas sur google.com
(google.com fonctionne aussi bien sur mon système Windows)
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'
Résultat: PayPal_Connection_OKbool(true)
Mais google.com
php -r '$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.google.com/"); var_dump(curl_exec($ch)); var_dump(curl_error($ch));'
Résultat: string(63) "SSL certificate problem: unable to get local issuer certificate"
P.S: La désactivation de la vérification par les pairs ne sera pas acceptable.
J'ai essayé votre chemin mais je n'ai pas travaillé non plus. –