Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 流\u套接字\u启用\u加密():SSL上下文创建失败_Php_Phpmailer_Swiftmailer - Fatal编程技术网

Php 流\u套接字\u启用\u加密():SSL上下文创建失败

Php 流\u套接字\u启用\u加密():SSL上下文创建失败,php,phpmailer,swiftmailer,Php,Phpmailer,Swiftmailer,出于某种原因,自上周二以来,我们的服务器软件(Debian 8)没有做任何更改,我一直遇到以下问题: [周一1月13日11:13:07.112949 2020][php7:warn][pid 2400][client 83.240.191.162:42899]PHP警告:stream_socket_enable_crypto():中的SSL上下文创建失败 我们在这台服务器上有多个网站(大约50个),其中一些网站可以发送电子邮件,而其他网站则不能。我已经检查了PHP Mailer()的帮助页面,例

出于某种原因,自上周二以来,我们的服务器软件(Debian 8)没有做任何更改,我一直遇到以下问题:

[周一1月13日11:13:07.112949 2020][php7:warn][pid 2400][client 83.240.191.162:42899]PHP警告:stream_socket_enable_crypto():中的SSL上下文创建失败

我们在这台服务器上有多个网站(大约50个),其中一些网站可以发送电子邮件,而其他网站则不能。我已经检查了PHP Mailer()的帮助页面,例如,此命令的返回
echo QUIT | openssl s|u client-starttls smtp-crlf-connect smtp.gmail.com:587
是(严重裁剪):

---250 SMTPUTF8完成

但是使用PHP不会发送电子邮件

开放式SSL是在PHP中配置的:

并安装在服务器中:
OpenSSL 1.0.2l 2017年5月25日

我检查了服务器的时间并进行了同步,我们还更新了openssl库,以防万一

至少有一个站点可以正常工作并通过SwiftMailer发送电子邮件,但即使我使用相同的配置配置其他站点,也不会发送电子邮件,并且始终会给出相同的错误

此外,我还通过下载cacert.pem文件并手动将其添加到PHP来更新证书库


有什么想法吗?

更新您的证书库。已经做了,那个,还是没什么,在这个具体的例子中,不是因为那个,我忘了在问题上提到那个。感谢您可能需要重新启动您的Web服务器-如果缓存了的话。我重新启动了Web服务器,很好地重新加载了Apache,但这通常就足够了,我们考虑过重新启动服务器本身,但没有人知道这将如何工作。
/usr/lib/ssl/openssl.cnf
?看起来您的openssl安装还可以,但是PHP使用它的方式有些问题,这意味着您需要使用PHP来诊断它。该函数不会提供太多反馈,因此可能尝试消除一些可能性-尝试禁用证书验证(请参阅
SMTPOptions
属性);如果成功,您就知道这是验证问题。请更新您的证书库。已经做了,那个,还是没什么,在这个具体的例子中,不是因为那个,我忘了在问题上提到那个。感谢您可能需要重新启动您的Web服务器-如果缓存了的话。我重新启动了Web服务器,很好地重新加载了Apache,但这通常就足够了,我们考虑过重新启动服务器本身,但没有人知道这将如何工作。
/usr/lib/ssl/openssl.cnf
?看起来您的openssl安装还可以,但是PHP使用它的方式有些问题,这意味着您需要使用PHP来诊断它。该函数不会提供太多反馈,因此可能尝试消除一些可能性-尝试禁用证书验证(请参阅
SMTPOptions
属性);如果成功了,你就知道这是一个验证问题。
Start Time: 1578912430
Timeout   : 300 (sec)
Verify return code: 0 (ok)