首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoapServer::SoapServer():SSL操作失败,代码1

SoapServer::SoapServer():SSL操作失败,代码1
EN

Stack Overflow用户
提问于 2018-02-08 13:24:05
回答 2查看 2.3K关注 0票数 2

我已经通过Yii公开了几个web服务。从PHP5.5.x升级到PHP 5.6.33后,我将面临以下错误

代码语言:javascript
复制
SoapServer::SoapServer(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

此错误发生在框架/web/services/CWebService.php (1.1.19)上的第166行,到目前为止我还没有发现任何工作,options属性受到保护,不知道如何绕过这个问题,但是http://php.net/manual/en/soapserver.soapserver.php似乎不支持与SoapClient相同的选项

代码语言:javascript
复制
            $options["stream_context"] = stream_context_create([ 
                "ssl" => [ 
                    // set some SSL/TLS specific options 
                    "verify_peer" => false, 
                    "verify_peer_name" => false, 
                    "allow_self_signed" => true 
                ]]); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-12 08:48:55

最后我们发现这是一个服务器配置问题。生产服务器没有遇到这个问题,因为证书是从一个已知的权威机构签名的,但是在私有服务器中,我们需要编辑php.ini文件

代码语言:javascript
复制
openssl.cafile = "/etc/path/to/pem/file.pem"
票数 1
EN

Stack Overflow用户

发布于 2020-02-21 08:44:35

当我试图在我的开发环境中创建SoapServer时,在Linux (Ubuntu)和PHP7.2中也出现了错误。如果不希望全局设置openssl.cafile,只需将根CA复制到正确的文件夹并更新证书:

代码语言:javascript
复制
sudo cp my_root_ca.pem /usr/share/ca-certificates/my_root_ca.crt
sudo dpkg-reconfigure ca-certificates
sudo update-ca-certificates

在重新配置ca证书时,您需要选择自己的证书并激活它。(如果开发环境中不再需要根CA,只需再次重新配置证书,请从列表中取消选择CA,最后更新证书。)

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

https://stackoverflow.com/questions/48686543

复制
相关文章

相似问题

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