ComposerがSSLエラーで更新できない解決策

2989 ワード

ComposerがSSLエラーで更新できない解決策
composer更新を使用すると、次のエラーメッセージが表示されます.
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedFailed to enable cryptofailed to open stream: operation failed

ここでの説明によれば、システムに証明書ファイルが欠けているためです.だから解決策は1つダウンロードしてPHPが見つかるようにすればいいのです.
以下の手順は、上記のアドレスに従って操作する手順です.
最初のステップ証明書情報の検索
d:\> php  -r "print_r(openssl_get_cert_locations());"
array(8) {
  ["default_cert_file"]=>
  string(39) "d:/tmp/openssl-1.0.1m/vc11/x86/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(36) "d:/tmp/openssl-1.0.1m/vc11/x86/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(38) "d:/tmp/openssl-1.0.1m/vc11/x86/private"
  ["default_default_cert_area"]=>
  string(30) "d:/tmp/openssl-1.0.1m/vc11/x86"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}

証明書のダウンロード
証明書のダウンロード
ステップ3証明書をdefault_に保存cert_ファイルの場所
cacert.pemをd:/tmp/openssl-1.0.1 m/vc 11/x 86/cert.pemに保存
私の操作では、やはりダメだったことに気づきました(原文オペレーティングシステムはLinux/Unix系、私のオペレーティングシステムはWindows).そこでphp.iniファイルを開き、以下のように修正しました.
openssl.cafile="d:/tmp/openssl-1.0.1m/vc11/x86/cert.pem"

それからcomposerを実行して、いいです!
まとめてみます.
  • ダウンロード証明書
  • php.iniを変更しopenssl.cafileのパス
  • を設定
  • cacert.pemを第2ステップopenssl.cafileで設定する位置
  • に保存する.