Php WAMP/XAMPP中的SSL错误:流\u套接字\u启用\u加密():SSL操作失败

Php WAMP/XAMPP中的SSL错误:流\u套接字\u启用\u加密():SSL操作失败,php,phpmailer,Php,Phpmailer,一周前,我用PHPMailer在WAMP中测试了一些组件,一切正常。第二天它就停止工作了。WAMP中的配置未更改。使用SMTPDebug尝试发送电子邮件时出现以下错误: 连接失败。错误#2:stream_socket_enable_crypto():SSL 操作失败,代码为1。OpenSSL错误 消息:错误:14090086:SSL 例程:ssl3\u获取\u服务器\u证书:证书验证失败 [C:…\SMTP.php第404行] 我使用x86版本的WAMP和XAMPP(我目前使用x64 WAMP)

一周前,我用PHPMailer在WAMP中测试了一些组件,一切正常。第二天它就停止工作了。WAMP中的配置未更改。使用SMTPDebug尝试发送电子邮件时出现以下错误:

连接失败。错误#2:stream_socket_enable_crypto():SSL 操作失败,代码为1。OpenSSL错误 消息:错误:14090086:SSL 例程:ssl3\u获取\u服务器\u证书:证书验证失败 [C:…\SMTP.php第404行]

我使用x86版本的WAMP和XAMPP(我目前使用x64 WAMP)进行了其他测试,但没有成功,我得到了相同的错误

所有测试都是在启用gmail“允许不太安全的应用”的情况下进行的

在文档中快速搜索之后,我发现问题是由于SSL证书的验证造成的。作为一种解决方法,我可以使用以下代码跳过此检查:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);
但正如已经说过的,这是一个解决办法。我想知道问题的根源在哪里,我不明白为什么它停止工作。我已经尝试替换WAMP/XAMPP文件夹中的证书,但没有成功。也做了广泛的研究,但没有结果。您知道如何在没有任何解决方法的情况下解决证书验证问题吗?

可能重复:

有很多配置导致出现此错误。但更常见的情况是系统的配置设置不正确。要正确执行此操作,请执行以下操作:1-检查是否有用于OPENSSL的cacert.pem文件。如果没有,请根据您的php版本从cacert.pem下载正确的版本,并将您的php.ini文件配置为“2-”

2-如果您有这个文件,那么您必须在php.ini文件中查找,看看是否在其中设置了它。要执行此操作,请执行以下操作:查找行

openssl.cafile ="example address..\cacert.pem"
如果找到具有特定地址的行,请在该地址中查找cacert.pem文件,如果找到,则使用cacert.pem文件即可。否则,您应该使用正确的地址

希望这对你有帮助。。祝你好运