Edited at

ComposerからLaravelを導入しようとしてOpenSSL周りのエラーで困った件

More than 3 years have passed since last update.

Composer経由でLaravelをインストールしようとして、Composerをcurlから取得する時に結構厄介なエラーに遭遇しましたので、対処法をシェアします。

自分はLaravelのインストール目的でしたが、Composerインストール時一般に使えるTIPSかと思います。


Download failed: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

file_get_contents(): Failed to enable crypto

file_get_contents(https://getcomposer.org/composer.phar): failed to open stream: operation failed


いろいろ調べて行き着いたのがComposerのissuesです。結構長いスレッドですが…。

Install fails because of getcomposer.org certificate verify failed · Issue #2798 · composer/composer · GitHub

結論から行きましょう。

OpenSSL(正確にはcurl)で使用するCAをダウンロード


wget http://curl.haxx.se/ca/cacert.pem

cp -v -f cacert.pem /full/path/to/certs/ca-bundle-curl.crt


php.ini から認識できるように設定


curl.cainfo=/full/path/to/ssl/certs/ca-bundle-curl.crt

openssl.cafile=/full/path/to/ssl/certs/ca-bundle-curl.crt


この設定をした状態でComposerを導入すればエラーは出ません。

解決するまで結構面倒でした…。

このcrtファイルはcurlのエラーを回避するためのものですので、本来のca-bundle.crtを上書きしないように注意して下さい。

参考までにFreeBSDをお使いの方は、pkgコマンド経由でphp-composerを導入するのが楽かと思います。


sudo pkg install php-composer