Laravel:stream_socket_enable_crypto():SSL操作失败,代码1 [重复]

Posted

技术标签:

【中文标题】Laravel:stream_socket_enable_crypto():SSL操作失败,代码1 [重复]【英文标题】:Laravel: stream_socket_enable_crypto(): SSL operation failed with code 1 [duplicate] 【发布时间】:2020-10-20 02:34:02 【问题描述】:

完整的错误描述是:

ErrorException stream_socket_enable_crypto(): SSL 操作失败 带有代码 1. OpenSSL 错误消息:错误:1416F086:SSL 例程:tls_process_server_certificate:证书验证失败

我目前正在使用带有 Voyager 设置的 Laravel 7 (https://voyager.devdojo.com/)。

我的配置中已经有了这个(基于其他一些答案)how to fix stream_socket_enable_crypto(): SSL operation failed with code 1

'stream' => [
    'ssl' => [
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],

我做了php artisan config:cachephp artisan config:clear

但我仍然遇到同样的错误。

这就是我的 .env 的样子

MAIL_DRIVER=smtp
MAIL_MAILER=smtp
MAIL_FROM_NAME="Voyager"
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=someUsername
MAIL_PASSWORD=somePassword
MAIL_ENCRYPTION=tls

【问题讨论】:

哈哈,这行得通。您应该将您的评论转换为答案。 【参考方案1】:

不是这方面的专家,但您可以尝试 MAIL_ENCRYPTION=null。

我很确定我过去曾遇到过这种情况,这就是罪魁祸首。

【讨论】:

“不是这方面的专家,但您可以通过 Internet 发送未加密的电子邮件,以便任何人都可以阅读。” @miken32 你确实看到他在环境中设置了MAIL_HOST=smtp.mailtrap.io。我认为这不是用于生产用途...【参考方案2】:

好的,我已经解决了这个错误。我改变了我的 .env

我只是将我的 MAIL_DRIVERsmtp 更改为 sendmail,它工作得非常好。

MAIL_DRIVER=sendmail 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
MAIL_USERNAME=mygmail@gmail.com 
MAIL_PASSWORD=****** 
MAIL_ENCRYPTION=tls

当我在本地主机上工作时,MAIL_DRIVER=smtp 工作正常,当我在 cpanel 上上传项目时,我收到了这个错误。

【讨论】:

以上是关于Laravel:stream_socket_enable_crypto():SSL操作失败,代码1 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:laravel 可翻译插件

win 怎么laravel命令

laravel 安装失败

laravel validator怎么验证整数

Laravel 图像规则验证不适用于 Laravel 8,但适用于 Laravel 7 |拉拉维尔 |图片 |验证

laravel和mongo怎么搭配使用