Guzzleでクライアント証明書によるリクエストでトラブった??話
環境
- Ubuntu18
- Guzzle 6.x
- PHP 7.2
$client = new \GuzzleHttp\Client(
[
\GuzzleHttp\RequestOptions::CERT => ".crt",
\GuzzleHttp\RequestOptions::SSL_KEY=>".key"
]
);
$res = $client->request(
'POST',
'<url>',
[]
);
上記のコードを実行すると
GuzzleHttp\Exception\RequestException : Error creating resource: [message] fopen(): Unable to set private key file `証明書のパス’
とエラーが発生
- keyファイルのアクセス権 → OK
- 証明書と秘密鍵のマッチ → OK
Guzzleのオプション設定の書き方が間違っていると疑いcurl_init()
〜で実行してみたらUncaught Error: Call to undefined function curl_init
php-curlがインストールされていなかった💧
sudo apt install php-curl
でインストールし解決
Guzzleはcurlがインストールされてなくてもフォールバック??して接続してくれるので…