Despite careful configuration, you may encounter an "Problem with the SSL CA cert (path? access rights?)" error when using CURL with HTTPS in PHP. This issue can arise after updating curl libraries.
1. Disable Verification for Host and Peer:
curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
2. Enable CURLOPT_SSL_VERIFYPEER and Define CA Certificate:
curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
3. Use Bundle CA Certificate for Server:
Similarly, you can try the positiveSSL.ca-bundle provided by the server.
4. Update PHP INI Settings:
Configure curl.cainfo in php.ini to point to the CA certificate file.
5. Rename NSS Database:
Temporarily rename the NSS database to exclude system-wide certificates.
6. Update Libraries and Restart:
Restarting your system after updating libraries may resolve the issue.
7. Disable Verification Using CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER:
Recommended when verification is not necessary.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
If none of these solutions work, consider upgrading to the latest library versions and restarting your system. Alternatively, you may consult with your hosting provider or the server administrator to determine if there are any specific certificate issues affecting your environment.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3