> 백엔드 개발 > PHP 튜토리얼 > curl参数设置的问题 有关CURLOPT_SSL_VERIFYHOST

curl参数设置的问题 有关CURLOPT_SSL_VERIFYHOST

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 20:40:41
원래의
1385명이 탐색했습니다.

<code>PHP Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST with value 1 is deprecated and will be removed as of libcurl 7.28.1. It is recommended to use value 2 instead in 
</code>
로그인 후 복사
로그인 후 복사

这里就是把

<code>curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, true );
</code>
로그인 후 복사
로그인 후 복사

改成

<code>curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, 2 );
</code>
로그인 후 복사
로그인 후 복사

就可以了吗?

回复内容:

<code>PHP Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST with value 1 is deprecated and will be removed as of libcurl 7.28.1. It is recommended to use value 2 instead in 
</code>
로그인 후 복사
로그인 후 복사

这里就是把

<code>curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, true );
</code>
로그인 후 복사
로그인 후 복사

改成

<code>curl_setopt ( $curl_handle, CURLOPT_SSL_VERIFYHOST, 2 );
</code>
로그인 후 복사
로그인 후 복사

就可以了吗?

是的

CURLOPT_SSL_VERIFYHOST的值

  • 设为0表示不检查证书
  • 设为1表示检查证书中是否有CN(common name)字段
  • 设为2表示在1的基础上校验当前的域名是否与CN匹配

libcurl早期版本中这个变量是boolean值,为true时作用同目前设置为2,后来出于调试需求,增加了仅校验是否有CN字段的选项,因此两个值true/false就不够用了,升级为0/1/2三个值。

再后来(libcurl_7.28.1之后的版本),这个调试选项由于经常被开发者用错,被去掉了,因此目前也不支持1了,只有0/2两种取值。

引自 libcurl API

When the verify value is 1, curl_easy_setopt will return an error and
the option value will not be changed. It was previously (in 7.28.0 and
earlier) a debug option of some sorts, but it is no longer supported
due to frequently leading to programmer mistakes. Future versions will
stop returning an error for 1 and just treat 1 and 2 the same.

最新版本,它的默认值就是2,因此,这行代码,可以省略不写。

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿