2017-01-23 50 views
3
OS: Ubuntu 16.01 
PHP: 7/0 

基於一些google搜索,輸入,我設置以下捲曲選項:錯誤設置證書驗證從StackOverflow上的問題位置

CURLOPT_SSL_VERIFYPEER => true, 
CURLOPT_SSL_VERIFYHOST => 2, 
CURLOPT_CAINFO = '/etc/ssl/certs', 

我驗證了的/ etc/SSL /證書目錄存在,並且它是最新的。

我還修改了文件/etc/php/7.0/cli/php/ini:

openssl.capath='/etc/ssl/certs' 

當我嘗試做了Curl電話,我得到以下錯誤:

[error] => error setting certificate verify locations: 
    CAfile: /etc/ssl/certs 
    CApath: /etc/ssl/certs 

我編輯的權限在/ etc/SSL /證書到:

rwxr-xr-x 

但我得到同樣的錯誤。

任何想法?如果你想使用的證書是在短短的一個文件

回答

1

CURLOPT_CAINFO才應該設置。如果你想使用整個目錄(就像你通常想在Ubuntu上執行的那樣),只需設置CURLOPT_CAPATH值。

the docs

CURLOPT_CAINFO: The name of a file holding one or more certificates to verify the peer with.

CURLOPT_CAPATH: A directory that holds multiple CA certificates.