シェアする

有効期限が切れた環境や無効な証明書の環境にfile_get_contentsで失敗しない方法

開発環境等でオレオレ証明書を利用している環境や、

有効期限が切れた環境等にfile_get_contentsを行うと、

SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

このようなエラーになって正常に値が取得できない場合があります。

証明書を正しいものに変えたりするのが一番いいですが、

コストや環境面から難しい場合には、以下のオプションで解決できる場合があります。

$options = array(
    'ssl' => array(
        'verify_peer' => false
        , 'verify_peer_name' => false
    )
);
$res = file_get_contents('https://xxxxxx', false, stream_context_create($options));

上記の方法はあくまでも開発環境等での利用時に便利なオプションです。

本番環境等では証明書が正しい環境にfile_get_contentsを行う事を心掛けた方がいいですね。