我有一个php curl会话与HTTP URL效果很好,但以HTTPS的错误500结束...
我已经尝试使用
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);
和$ curl_info的print_r:
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
)
非常感谢您的帮助!
500错误是远程服务器上的通用错误,因此您可能没有什么可以调试。您可能需要联系远程服务器的开发人员,以了解其HTTPS网站为什么会出现500个错误。 - Aynber
那终于是正确的答案。问题不是在我的代码中,而是在服务器端。
感谢您指向我的方向!
我在OpenSSL网站上阅读了一些版本尚未支持。PHP-5.6或某些卷曲版本之间也没有背部兼容性或不再兼容。我重新编译了其他版本的OpenSSL,这是他们的LTS程序。所有工作完美无瑕