php cUrl POST с сертификатом SSL завершается с ошибкой 500 - PullRequest
0 голосов
/ 27 июня 2019

У меня есть сеанс PHP cUrl, который хорошо работает с HTTP-URL, но заканчивается ошибкой 500 с https ...

Я уже пытался использовать

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

но это не сработало.

Вот мой код:

$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  
curl_setopt($ch, CURLOPT_POSTFIELDS, $responseJson);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($responseJson))                                                                       
);
$output=curl_exec($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);

А вот print_r из $ curl_info:

Array
(
    [url] => https://xxx
    [content_type] => text/html; charset=utf-8
    [http_code] => 500
    [header_size] => 291
    [request_size] => 280
   [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.474033
    [namelookup_time] => 0.004676
    [connect_time] => 0.005514
    [pretransfer_time] => 0.021116
    [size_upload] => 3082
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 6501
    [download_content_length] => 0
    [upload_content_length] => 3082
    [starttransfer_time] => 0.022492
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => xxx
    [certinfo] => Array
        (
        )

    [primary_port] => xxx
    [local_ip] => xxx
    [local_port] => xxx
)

Большое спасибо заваша помощь !!

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Я читал на сайте OpenSSL, что некоторые версии еще не поддерживаются.Также нет обратной совместимости или больше нет совместимости между php-5.6 или некоторыми версиями CURL.Я перекомпилировал другую версию openssl, то есть их программу LTS.Все работы безупречны

0 голосов
/ 27 июня 2019

Ошибка 500 - это общая ошибка на удаленном сервере, поэтому, вероятно, ничего такого, что вы можете отладить. Возможно, вам придется связаться с разработчиками удаленного сервера, чтобы узнать, почему их HTTPS-сайт выдает ошибку 500. - айнбер

Это был наконец правильный ответ. Проблема была не в моем коде, а на стороне сервера.

Спасибо, что указали мне правильное направление!

...