GoogleアナリティクスAPIを利用して、PHPからPVやセッション数などの情報を取得しようと、下記の公式チュートリアルにならってコードを書いていたのだが、ローカルサーバーを立ち上げてページへアクセスしたところエラーが発生した。

Google Analytics API 公式チュートリアル

そのエラー内容がこちら。

Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate

調べたところ、httpsのサイトにアクセスしようとした際に、そのサーバが信頼できるかの証明書が取得できなかった時に発生するエラーのようだ。

今回はこのエラーの解決法を紹介する。

証明書ファイルをダウンロード

証明書ファイルを下記のリンクからダウンロードして、プロジェクトディレクトリに保存する。

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

PHPファイルから証明書を読み込む

証明書を入手したら、チュートリアル内で作成する2つのPHPファイルに以下を追記する。

$client = new Google_Client();

// 以下の4行を追記
$http = new GuzzleHttp\Client([
  'verify' => __DIR__.'/cacert.pem'
]);
$client->setHttpClient($http);

これで、前述のエラーを解消することができた。