Search code examples
phpcurllaravel-5

cURL error 60: SSL certificate in Laravel 5.4


Full Error

RequestException in CurlFactory.php line 187: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Scenario

Before anyone points me to these two laracasts answers: https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate

https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate/replies/52954

I've already looked at them and that's why I'm here.

The problem I have is that now I have the cacert.pem file BUT it doesn't make sense where to put it, the answers indicate to place the file in my xampp directory and change my php.ini file but I'm not using xampp for anything, I'm using Laravel's artisan server to run my project.

If xampp is not in use, where should I place this file? Moreover, why would an accepted answer be to place it in my xampp directory? I dont understand.

My Exact Question

Where do I place the cacert.pem file to stop this error in laravel 5.4?


Solution

  • Do not ever modify files in the vendor/ folder. Ever. They can and will be overwritten on the next composer update you run.

    Here is my Solution for WampServer

    I am using PHP 7.1.9 for my WampServer, so change 7.1.9 in the example below to the version number you are currently using.

    1. Download this file: http://curl.haxx.se/ca/cacert.pem
    2. Place this file in the C:\wamp64\bin\php\php7.1.9 folder
    3. Open php.iniand find this line:

    ;curl.cainfo

    Change it to:

    curl.cainfo = "C:\wamp64\bin\php\php7.1.9\cacert.pem"

    Make sure you remove the semicolon at the beginning of the line.

    Save changes to php.ini, restart WampServer, and you're good to go!