php curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

使用curl 请求https接口时返回这样的一个错误,原因是对方服务器openssl跟请求的环境不一致导致的问题,解决方法如下

1
2
3
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'DEFAULT:!DH');//这行是重点