私はMacOSx El CapitanのXAMPPの一部としてPHPバージョン5.6を実行しており、数少ないhttps
サイトでエラーが発生しています。例えば:https://www.google.com/
PHP SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました
file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
しかし、誰SSLエラーは、これらのサイトに返されません:
i「がどのような最初のリストを見つけてください。試したこれまでのところ、何も動作しません。最初
しようとしましたグーグル:
- 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
マニュアル
1.更新のcert.pem
php -r 'print_r(openssl_get_cert_locations());'
を提出し、その結果となりました。 /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
で
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] =>
)
保存は
openssl.cafile = /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
curl.cainfo = /Applications/XAMPP/xamppfiles/share/openssl/cert.pem
リスタートApacheのが、無大成功を次のようにphp.ini
を更新しました。 PEMファイルを読み取ろうとしました
echo file_get_contents("/Applications/XAMPP/xamppfiles/share/openssl/cert.pem");
テストケースが
それはgoogle.com
上github.com
getcomposer.org
paypal.com
ではなく、(google.comは私の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));'
結果:PayPal_Connection_OKbool(true)
しかし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));'
結果に:string(63) "SSL certificate problem: unable to get local issuer certificate"
P.S:ピア検証を無効にすると、許容されません。
あなたのやり方を試しましたが、うまくいきませんでした。 –