PHP
curl

PHP開発中の curl: (60) Peer certificate cannot be authenticated with known CA certificates 対応方法

More than 1 year has passed since last update.

Laravelを使用してYahoo! JAPAN IDログイン機能を実装中、サーバーからYahooのWebAPIにHTTPSリクエストを送った際 curl: (60) Peer certificate cannot be authenticated with known CA certificates のエラーが出た。

私の環境ではcurlにCA証明書を使うように設定することでうまくいったのでメモ。
CentOS6 + Apache2.2 + PHP5.6 と古い環境ですが。

・まずCA証明書取得
sudo -i
cd /etc/httpd/conf.d
mkdir pem
cd pem
wget http://curl.haxx.se/ca/cacert.pem

・次に/etc/php.ini の[curl]のところに以下のように設定
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo ="/etc/httpd/conf.d/pem/cacert.pem"

・最後にApacheの再起動
service httpd restart