在里面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 上找到了它