首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WAMP/XAMPP: stream_socket_enable_crypto():SSL操作失败

WAMP/XAMPP: stream_socket_enable_crypto():SSL操作失败
EN

Stack Overflow用户
提问于 2017-10-31 12:39:47
回答 1查看 4.1K关注 0票数 1

一周前,我用PHPMailer测试了WAMP中的一些组件,一切都正常工作。第二天它就停止工作了。WAMP中的配置没有改变。使用SMTPDebug时,当我试图发送电子邮件时,这是以下错误:

连接失败。错误#2: stream_socket_enable_crypto():SSL操作失败,代码1。OpenSSL错误消息:错误:14090086:SSL C:...\SMTP.php验证失败行404

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

所有测试都是在启用gmail “允许安全性较低的应用程序”的情况下执行的。

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

代码语言:javascript
复制
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

但正如已经说过的,这是一个解决办法。我想知道问题的根源在哪里,我不明白为什么它停止工作。我已经尝试过替换WAMP / XAMPP文件夹中的证书,但没有成功。也做了大量的研究,但没有结果。知道我如何解决证书验证问题而不需要任何解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 10:27:07

可能重复:crypto(): SSL operation failed with code 1

有很多的倾诉,使这个错误出现。但更多的情况是,您的系统配置没有正确设置。要正确地执行以下操作: 1-检查是否有用于OPENSSL的cacert.pem文件,如果没有,请根据php版本从cacert.pem下载适当的版本,并将php.ini文件配置为"2-“。

2-如果您有这个文件,那么您必须在您的php.ini文件中查找并查看它是否已在其中设置。这样做:查找行

代码语言:javascript
复制
openssl.cafile ="example address..\cacert.pem"

如果您找到具有特定地址的行,请在该地址中查找cacert.pem文件,如果您找到它,则所有这些都是用cacert.pem文件完成的。否则,你应该使用正确的地址。

希望这能帮到你..。祝你好运..!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47035679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档