4

認証ヘッダーを含むcurlステートメントをphp curlリクエストに変換しようとしています。しかし、次のエラーが表示されるため、機能していないようですecho 'error:' . curl_error($ch);

error:SSL certificate problem: unable to get local issuer certificate

私のカールコマンドは次のようになります:

curl --user XXXX:YYYY "URL"

私のphp-curlは次のようになります:

$login = 'XXXX';
$password = 'YYYY';
$url = 'URL';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
echo curl_exec($ch);
$result = curl_exec($ch);

if ($result != false){
        echo "SUCCESS";
}else{
        echo "<br>";
        echo 'error:' . curl_error($ch);
        echo "<br>";
    }
curl_close($ch);  
echo($result);

誰かが私のせいを見ていますか?

4

1 に答える 1

3

署名機関の証明書がローカル データベースで見つからないため、cURL は使用されている証明書の信頼性を検証できません。

これは、自己署名証明書が使用されていることを示している可能性があります。

あなたがすべきことは、署名機関の証明書を に追加すること/etc/ssl/certs/ca-certificates.crtです。

できることはcurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);、失敗しているチェックを無効にする を使用することです。

最初のオプションを使用する必要があります。

于 2016-02-10T12:17:23.497 に答える