如何在php.ini中向curl.cainfo添加多个ssl证书?

时间:2016-11-30 23:22:41

标签: php ssl curl php-ini

我在本地运行Apache以开发多个站点,并希望同时运行它们。这些网站通过ssl相互通信,因为它是本地设置,我使用的是自签名证书。

为了让php(5.5.26)接受这些证书,我将它们添加到curl.cainfo中的php.ini属性中。我得到它使用一个证书,但是当我尝试添加多个(3)时,它不起作用(我在php中从一个站点向另一个站点发出请求时没有得到任何回报)。我尝试了以下格式:

单独的行:

curl.cainfo=/path/to/certificate.crt
curl.cainfo=/path/to/another/certificate.crt
curl.cainfo=/path/to/last/certificate.crt

相同的行,逗号分隔     curl.cainfo=/path/to/certificate.crt,/path/to/another/certificate.crt,/path/to/last/certificate.crt

同一行,结肠分开     curl.cainfo=/path/to/certificate.crt:/path/to/another/certificate.crt:/path/to/last/certificate.crt

还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

libcurl中的基础CURLOPT_CAINFO选项仅支持单个文件名,而PHP / CURL仅将该字符串传递给libcurl。所以不,你不能传递多个文件名。但是,您可以将所有这些文件连接成一个文件,并指向该文件。