使用LetsEncrypt进行PHP验证失败

时间:2015-12-29 16:32:15

标签: php ubuntu ssl openssl ssl-certificate

尝试阅读流时遇到问题:

$result = file_get_contents($url, false, stream_context_create(
    ['http' => ['timeout' => (float) $this->options['timeout']]]
));
  

SSL操作失败,代码为1. OpenSSL错误消息:

     

错误:14090086:SSL例程:ssl3_get_server_certificate:证书验证失败

在任何人回答之前我不会做

 "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),

希望其他人使用letsencrypt并且有一些正确的方法来确保其经过验证。

随时在我的域lukepolo.com

上查看我的证书

2 个答案:

答案 0 :(得分:3)

openssl.cafile = curl.cainfo =

在你的php.ini中,你需要两个

答案 1 :(得分:1)

您可能必须安装CA证书(this page has links to download the CA file)。您可能必须尝试各种签名才能使其工作。获取PEM版本并将其保存到您的服务器,然后更改您的代码

$result = file_get_contents($url, false, stream_context_create(
    [
        'http' => ['timeout' => (float) $this->options['timeout']],
        'ssl' => ['cafile' => '/path/to/file.pem']
    ]
));