PHP(7.1)邮件、openssl、证书问题

PHP(7.1)邮件、openssl、证书问题

在里面php.ini我有:

[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt

此行允许来自PHP邮件传输协议从 PHP es 发送WordPress 的或者我使用的 PHP 应用程序我的域名.ext证书。

现在我需要使用作曲家我发现当 PHP 应用程序(如 Composer)尝试下载数据时,此行会产生 SSL 错误。错误如下:

file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
    Now trying to download from source

如果我删除php.ini线

[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt

这个问题已经解决了,但我开始看到所有PHP 邮件因此类似应用程序失败WordPress 的等无法发电子邮件

如何才能使邮件正常运行并解决 PHP SSL 问题?

如果我删除openssl与发送的证书电子邮件一致SMTP SSL将失败。

Connection: opening to ssl://domain.it:465, timeout=300, options=array ()
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): Failed to enable crypto
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://domain.it:465 (Unknown error)
SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

谢谢。


更新

在 php.ini 中我指定使用我的域名的 cafile。这使得 PHP 的电子邮件可以正常工作,而且我在加载我的域名时也没有遇到任何问题。

当我尝试使用 Composer 时遇到问题,因为 PHP 似乎正在使用无法获得验证的域证书。

如果我从 php.ini 中删除 openssl ca.file,PHP 的电子邮件将停止工作,但作曲家可以正常工作。

也许我需要找到 PHP 使用的系统证书在哪里,当我删除 openssl 行然后将证书内容添加到我的域证书中时,这应该可以解决问题。

知道在哪里可以找到这个证书吗?你认为这能解决问题吗?

https://github.com/composer/composer/issues/7797#issuecomment-440585828

谢谢您的帮助。

答案1

解决了https://github.com/composer/composer/issues/7797#issuecomment-440680491

在 centos 中,位置似乎有点不同如何在 centos7 中添加证书颁发机构?

我在 etc/pki/ca-trust/extracted/openssl 上找到了它

相关内容