Преобразование из CURL в PHP Curl - PullRequest
0 голосов
/ 20 февраля 2020

Я выполняю приведенный ниже запрос Curl, и он работает.

curl -v --cert /path/to/certs/myCert.crt --key  /path/to/key/myKey.key --cacert /path/to/chainedcerts/intermediary.pem  https://mysite:30009/

Преобразование его в php, как показано ниже, с ошибкой 77 без повествования. Я думаю, возможно, проблема с правами доступа к файлам. Я использую nginx, а 3 сертификата принадлежат пользователю nginx. Если есть какой-либо другой способ, я могу просмотреть описание ошибки, как и другие ошибки

$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "xmlRequest=" . $xml);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Expect:','Content-Type: text/xml']);
        curl_setopt($ch, CURLOPT_VERBOSE, 1);
        curl_setopt($ch, CURLOPT_SSLCERT,  "/path/to/certs/myCert.crt");
        curl_setopt($ch, CURLOPT_SSLKEY,  "/path/to/key/myKey.key");
        curl_setopt($ch, CURLOPT_CAINFO, "/path/to/chainedcerts/intermediary.pem "); 
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        $data = curl_exec($ch);
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        Log::error($httpcode .' : '. curl_errno($ch) .' : '. curl_error($ch));
        curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...