2017-03-09 9 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

FYIのホームディレクトリにある.curlrcファイルは、PHPのカールには影響しません。

しかし、ほとんどの場合、CAfileはパスではなく実際のファイルである必要があります。カールがそれらをチェックすると、それはファイルではないので失敗しています。

あなたは、物事(cURLの、OpenSSLの、GNUTLS)が代わりにファイルのパスとしてCAfileで構築された場合などcurl_setopt($ch, CURLOPT_CAINFO, '/etc/ssl/certs/ca-certificates.crt');

(これらphp.ini settingsを使用したり、コード内でCURLOPT_CAINFOを使用して、これをする必要があることを修正してみてください

+0

私のコードでは、正確なファイル名ではなく、パスを指定すると書いてあると思っていたので、私は特定のファイル名、パスのみを持っていませんでした。 – EastsideDeveloper