2017-03-09 1 views
0
Ubuntu 16.04.2 LTS 
PHP 7.0.15-0ubuntu0.16.04.4 (cli) (NTS) 
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3 

을 찾을 수없는, 내가 그 안에 다음과 같이하는 .curlrc 파일을 만든 :컬이 홈 디렉토리에 인증서 파일

-rwxr-x--x 1 phptools phptools 274340 Jan 18 20:03 /etc/ssl/certs/ca-certificates.crt 

그러나 내 phl에서 curl 호출을 시도하면 스크립트에서 다음 오류가 발생합니다.

error setting certificate verify locations: 
    CAfile: /etc/ssl/certs 
    CApath: /etc/ssl/certs 

인증서가 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

참고로, 홈 디렉토리의 .curlrc 파일은 PHP의 컬링에 영향을주지 않습니다.

하지만 대부분의 경우 CAfile은 경로가 아닌 실제 파일이어야합니다. 컬이 그것들을 검사 할 때, 그것은 파일이 아니기 때문에 실패합니다.

당신은 수정 시도 할 수 있습니다 그 일 (컬, OpenSSL을, GnuTLS가) 대신 파일의 경로로 cafile에서 빌드 된 경우 이러한 php.ini settings 또는 코드에서 CURLOPT_CAINFO를 사용하여 (예 : curl_setopt($ch, CURLOPT_CAINFO, '/etc/ssl/certs/ca-certificates.crt');

,이 있어야 사용 컴파일시 수정 됨

+0

필자는 코드에서 정확한 파일 이름이 아니라 경로를 지정했다고 생각하여 특정 파일 이름, 경로 만 필요로하지 않았습니다. – EastsideDeveloper

관련 문제