Redhat Linuxでは、PHPスクリプトで、cURLオプションを次のように設定しています。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, True);
curl_setopt($ch, CURLOPT_CAINFO, '/home/andrew/share/cacert.pem');
しかし、データを送信しようとすると、この例外が発生します
(curl error: 77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
/etc/pki/tls/certs/ca-bundle.crt
でCAfileを検索するのはなぜですか?どこにも設定していないので、このフォルダがどこから来ているのかわかりません。
私が指定した場所、/home/andrew/share/cacert.pem
を見ているべきではありませんか? /etc/
の書き込み権限がないので、ファイルをコピーするだけのオプションはありません。使用すべき他のカールオプションがありませんか?
(これは共有ホスティング上にあります-CAfileに別のパスを設定することを禁止している可能性はありますか?)
CURLOPT_CAINFOをCURLOPT_CAPATHに置き換えてみてください。
また、SSLCERTオプションもご覧ください。