我使用的代码是
$request = 'sales='.$_slots['sales']['value'].'&duration='.$_slots['duration']['value'];
$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, $url );
curl_setopt( $ch,CURLOPT_POST, 2 );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, $request);
$result = curl_exec($ch );
$response = explode(chr(10),$result);
$data = implode('', $response);
$error = curl_error($ch)
curl_close( $ch );
curl_error
也会返回null
,因此我无法跟踪其无效的原因。 $url
在上面定义并且是有效的网址。我也尝试过但没有发送任何帖子,但仍然不起作用。
任何建议都会受到赞赏。谢谢
答案 0 :(得分:0)
就我而言,curl仅在https URL上显示此行为,无论CURLOPT_SSL_VERIFYHOST
和CURLOPT_SSL_VERIFYPEER
是否设置为false进行测试,就像您在此处所做的那样。
我最近运行了yum update
,它更新了Name Service Switch,这是我能想到的唯一的服务器更改。我通过yum在另一台服务器上进行了更新,该服务器开始在curl中显示相同的故障。
重新启动Apache服务解决了该问题。重启后,Https URL在curl中起作用。
我确实找到了过去发生curl / ssl / nss错误的示例,但就我而言,从未看到错误消息。
这不是一个令人满意的解决方案,因为我不了解发生此故障的原因的全貌,因此,如果发现更多问题,我将继续进行调查并添加更新。